1. 程式設計問題:
編寫乙個程式來檢查給定的數字是否可以表示為兩個或多個連續正數的總和。 例如:
其中 6 和 9 都可以表示為連續數字的總和。
使用引數 n 定義函式 check continuous sum()。
在函式中,檢查數字 n 是否可以表示為連續數字的總和。
如果數字可以表示為連續數字的總和,則返回 true,否則返回 false。
輸入示例:6
示例輸出:true
解釋:1、2 和 3 是連續的數字,加起來等於 6。
2. 實施:
可編輯 ** 如下:
#!/usr/bin/python3.9
# -*coding: utf-8 -*
## copyright (c) 2024 , inc. all rights reserved
## @time : 2024/1/27 10:41
# @author : fangel
# @filename : 81.檢查連續數字和。 py
# @software : pycharm
def check_consecutive_sum(n):
首先,從 0 開始並按順序求和,i 代表每一輪迴圈。
for i in range(1,n):
將迴圈中每一輪的初始值分配給乙個臨時變數,然後使用臨時變數在迴圈中的輪次中遞增求和運算。
tmp = i
sum = 0
在每一輪求和中,確定總和是否小於 n,小於此值時繼續求連續整數的總和。
while(sum < n):
sum += tmp
tmp += 1
如果它等於 n,則表示已找到它並返回 true
if (sum == n):
return true
如果大於n,則表示多次仍未找到當前迴圈,則有必要進入下乙個迴圈。
elif sum > n:
break 如果以上條件均不滿足,則找不到,返回 false
return false
獲取輸入數字 n
n = int(input())
呼叫函式。
print(check_consecutive_sum(n))
三、分析:
這個問題需要迴圈求和,如果找不到合適的值,就進入下一輪搜尋。
4. 執行結果:
輸入:64 輸出:false 2個月** 動態激勵計畫