分享至
問題描述:讓使⽤者輸⼊⼀正整數,撰寫程式找出⼀連續整數數列讓該數列的和為此⼀正整數,若正整數不能找出連續整數之和,請印出「No」。例如:輸⼊說明:輸⼊⼀個正整數。輸出說明:輸出可能的整數相加連續整數,若找不到時,請印出「No」,最後必須有換⾏字元。
已邀請的邦友 {{ invite_list.length }}/5
Hint: 連續和的數字的開頭比輸入正整數小
Draft:
參考此篇:
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))
其它的部份,請自己寫。
湊熱鬧,運用梯形公式 + 因式分解,時間複雜度約「根號x」以下為數學描述,程式就自己寫吧
請參考這個https://www.796t.com/content/1549854721.html
IT邦幫忙