问题:怎么把1、2、5、10,凑成100的组合方法有多少种?
暴力不考虑效率的解法:
#直接使用四层嵌套循环运行
def fn(n):
num = []
for i in range(101):
for j in range(101):
for k in range(101):
for m in range(101):
if 1*i + 2*j + 5*k + 10*m == 100:
a = "%d,%d,%d,%d"%(i,j,k,m)
num.append(a)
return num
c = [1,2,5,10]
print(fn(c))
你知道有那种更好的解法吗?