亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

精美的Python代碼用于整數分區

精美的Python代碼用于整數分區

HUWWW 2019-10-09 15:12:23
我試圖編寫代碼來解決標準的整數分區問題(Wikipedia)。我寫的代碼一團糟。我需要一個優雅的解決方案來解決該問題,因為我想改善自己的編碼風格。這不是作業問題。
查看完整描述

3 回答

?
慕哥9229398

TA貢獻1877條經驗 獲得超6個贊

雖然這個答案很好,但我還是建議以下skovorodkin的答案:


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

... 

>>> partition(4)

set([(1, 3), (2, 2), (1, 1, 2), (1, 1, 1, 1), (4,)])

如果要所有排列(即(1,3)和(3,1))更改answer.add(tuple(sorted((x, ) + y))為answer.add((x, ) + y)


查看完整回答
反對 回復 2019-10-09
  • 3 回答
  • 0 關注
  • 697 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號