劍指offer數學問題

2021-10-06 22:23:39 字數 548 閱讀 9492

題目描述

求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...