47. 求1+2+3+...+n,要求不能使用乘除法

題目描述

求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等關(guān)鍵字及條件判斷語(yǔ)句(A?B:C)。

思路與實(shí)現(xiàn)

利用公式sum = n*(n+1)/2

  • 將上面的公式變形sum = (n^2 +n)/2
  • 利用指數(shù)函數(shù)和移位操作
public class Solution {
    public int Sum_Solution(int n) {
        return (int)(Math.pow(n, 2)+n)>>1;
    }
}

利用短路特性和遞歸

  • 當(dāng)n==0時(shí),(n>0)&&((sum+=Sum_Solution(n-1))>0)只執(zhí)行前面的判斷,為false,然后直接返回0;
  • 當(dāng)n>0時(shí),執(zhí)行sum+=Sum_Solution(n-1),實(shí)現(xiàn)遞歸計(jì)算Sum_Solution(n)。
public int Sum_Solution(int n) {
    int sum = n;
    boolean ans = (n>0)&&((sum+=Sum_Solution(n-1))>0);
    return sum;
}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 這是除夕前看的,一直都沒(méi)空寫(xiě)下來(lái)。 我看的時(shí)候就一直在想我自己的上學(xué)經(jīng)歷,小學(xué),初中,高中,大學(xué)。 和班級(jí)同學(xué)打架...
    three_沃特喵閱讀 140評(píng)論 0 0
  • 宋陽(yáng)把寫(xiě)給梅莉的郵件又發(fā)給了我,這說(shuō)明他昨晚做夢(mèng)又見(jiàn)到了梅莉!
    yxs楊曉松閱讀 524評(píng)論 0 0
  • 年近花甲入學(xué)堂, 童年往事意味長(zhǎng)。 老師點(diǎn)名立正到, 班長(zhǎng)喊操聚操場(chǎng)。 同桌女生嗓門(mén)好, 全班師生忙鼓掌。 時(shí)間偷...
    大度做人閱讀 304評(píng)論 6 10
  • Mysql的優(yōu)勢(shì) 成本:Mysql是開(kāi)源數(shù)據(jù)庫(kù),可以免費(fèi)使用。 性能:sql的執(zhí)行速度快 可信賴:很多大公司都使用...
    轉(zhuǎn)身丶即天涯閱讀 144評(píng)論 0 0
  • 處在這個(gè)不成熟而又不幼稚的年紀(jì)里,沒(méi)有能力還有野心想著一定要怎樣怎樣…… 感覺(jué)真的有時(shí)候愧對(duì)自己的青春,愧對(duì)自己的...
    東京東閱讀 200評(píng)論 0 1

友情鏈接更多精彩內(nèi)容