作者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
1F:推 mikapauli:话说max,iter,len都是内建函式,还是避开比较好吧 11/03 10:38
2F:推 sofaly:谢谢 11/03 11:32
3F:→ kdjf:也是XD 11/03 17:53