題目描述
求1+2+3+…+n,要求不能使用乘除法、for、while、if、else、switch、case等關鍵字及條件判斷語句(a?b:c)。
題目分析:這是明顯的等差數列求和問題,可以直接使用等差數列的求和公式算出答案,但是題目要求不能使用乘除法。
累加問題可以用遞迴來解決,但是遞迴需要if 條件來跳出迴圈,這裡可以使用and替換if進行條件判斷。
這裡補充一下py邏輯運算子的知識:
附上原始碼:
class
solution
:def
sum_solution
(self, n)
:# write code here
return n>
0and
(self.sum_solution(n-1)
+n)
本人菜鳥,如有錯誤,歡迎指教! 劍指offer 數學
題目一 輸入乙個遞增排序的陣列和乙個數字s,在陣列中查詢兩個數,使得他們的和正好是s,如果有多對數字的和等於s,輸出兩個數的乘積最小的。輸出描述 對應每個測試案例,輸出兩個數,小的先輸出。解題思路 數列滿足遞增,設兩個頭尾兩個指標i和j,若ai aj sum,就是答案 相差越遠乘積越小 若ai aj...
劍指offer 數學和其他
數學和其他 14 2.py 給你一根長度為 n 的繩子,請把繩子剪成整數長度的 m 段 m n都是整數,n 1並且m 1 每段繩子的長度記為 k 0 k 1 k m 1 請問 k 0 k 1 k m 1 可能的最大乘積是多少?例如,當繩子的長度是8時,我們把它剪成長度分別為2 3 3的三段,此時得到...
2018 6 18 數學問題
define crt secure no deprecate 求正整數n的質因數的個數。120 2 2 2 3 5 所以最後輸出時5 10 9 n至多只存在乙個大於sqrt n 的素因數 這裡只需要篩選到100000就可以 通過素數表,不斷試除,最後求出各個冪指數的和 include 素數表找到10...