作者kdjf (我抓得到什麼呢?)
看板Python
標題Re: [問題] 排除輸出重複數值的方法
時間Sat Nov 3 09:32:05 2012
既然一開始就只看組合而已
for loop不用做出所有的項, 只要seq(i)<(or >)seq(i+1)就好
target=9 #要的合
max=7 #長度
def iter(priv,len):
for i in range(1,priv[len-1]+1):
new=priv+(i,)
newsum=sum(new)
if len+1 == max:
if newsum == target:
print(new)
else:
if newsum < target: iter(new,len+1)
iter((4,),1)
iter((3,),1)
iter((2,),1)
iter((1,),1)
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.245.32
推 mikapauli:話說max,iter,len都是內建函式,還是避開比較好吧 11/03 10:38
推 sofaly:謝謝 11/03 11:32
→ kdjf:也是XD 11/03 17:53