iT邦幫忙

0

python數學

問題描述:
讓使⽤者輸⼊⼀正整數,撰寫程式找出⼀連續整數數列讓該數列的和為此⼀正整數,
若正整數不能找出連續整數之和,請印出「No」。
例如:
輸⼊說明:
輸⼊⼀個正整數。
輸出說明:
輸出可能的整數相加連續整數,若找不到時,請印出「No」,最後必須有換⾏字元。

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
0
阿瑜
iT邦研究生 4 級 ‧ 2021-10-17 22:49:49

Hint: 連續和的數字的開頭比輸入正整數小

Draft:
https://ithelp.ithome.com.tw/upload/images/20211017/20111516H3zSsatJD7.png

0
neocaffe
iT邦新手 4 級 ‧ 2021-10-17 22:57:48

參考此篇:

Wiki

def partition(number):
    answer = set()
    answer.add((number, ))
    for x in range(1, number):
        for y in partition(number - x):
            answer.add(tuple(sorted((x, ) + y)))
    
    return answer
 

print(partition(7))

其它的部份,請自己寫。

0
淺水員
iT邦大師 6 級 ‧ 2021-10-18 15:45:11

湊熱鬧,運用梯形公式 + 因式分解,時間複雜度約「根號x」
以下為數學描述,程式就自己寫吧

https://ithelp.ithome.com.tw/upload/images/20211018/20112943bCCqoUlvKk.png

0
dong_chen
iT邦新手 5 級 ‧ 2022-10-08 10:46:00

請參考這個https://www.796t.com/content/1549854721.html

我要發表回答

立即登入回答