劍指offer刷題 求1 2 n

2021-10-09 04:58:21 字數 506 閱讀 9296

題目:求1+2+……+n,要求不能使用乘除法,for、while、if、else、switch、case等關鍵字及條件判斷語句(a?b:c;)。

要求不能使用乘除和一些語句,因此我們可以設計遞迴思路,並且用位運算子來判斷是否到達遞迴終止的條件。

另外,我們可以用c++建構函式來設計出一種思路,具體見**。

class solution 

};

class solution 

static void reset()

static int getsum()

private:

static int n;

static int sum;

};int sum_solution(int n)

}; int solution::temp::n =0;

int solution::temp::sum =0;

劍指offer 學習筆記 求1 2 n

面試題64 求1 2 n。不能用乘除法 for while if else switch case等關鍵字及條件判斷語句 包括a?b c 法一 建構函式求解。迴圈讓相同的 迴圈執行n次,我們也可以不用迴圈語句完成,先定義乙個型別,接著建立n個該型別的物件,那麼這個型別的建構函式就會被呼叫n次 inc...

(重要)劍指offer 46 求1 2 N

題目 求1 2.n,要求不能使用乘除法 for while if else switch case等關鍵字及條件判斷語句 a?b c 方法1 利用建構函式,static 構造n個例項。方法2 利用虛函式求解。當n不為0時,呼叫函式base sum 當n為0時,呼叫函式derived sum 方法3 ...

劍指Offer64數字 求1 2 n

題目 求 1 2 n 要求不能使用乘除法 for while if else switch case等關鍵字及條件判斷語句 a?b c 示例 1 輸入 n 3 輸出 6 示例 2 輸入 n 9 輸出 45 限制 1 n 10000 分析 這裡考慮遞迴思路,中點解決遞迴終止條件,即出口在 思路 1 遞...