今天女儿的一道一年级数学题,问16元5角共有多少种付法?
解题思路:不考虑找钱的情况(10元、5元、2元、1元、5角、2角、1角、5分、2分、1分)共10种
16元5角=1650分,统一以分为单位
设置变量表:
a 10元 1000
b 5元 500
c 2元 200
d 1元 100
e 5角 50
f 2角 20
g 1角 10
h 5分 5
i 2分 2
j 1分 1
判断条件: a*1000+b*500+c*200+d*100+e*50+f*20+g*10+h*5+i*2+j=1650
python的源代码如下
计算结果:7796977944种支付方法
- #!/usr/bin/python
-
times=0
-
for a in range(0,2):
-
for b in range(0,((1650-a*1000)/500)+1) :
-
for c in range(0,( (1650-a*1000-b*500)/200)+1) :
-
for d in range(0,( (1650-a*1000-b*500-c*200)/100 )+1):
-
for e in range(0,( (1650-a*1000-b*500-c*200-d*100)/50 )+1):
-
for f in range(0,( (1650-a*1000-b*500-c*200-d*100-e*50)/20 )+1):
-
for g in range(0,( (1650-a*1000-b*500-c*200-d*100-e*50-f*20)/10 )+1):
-
for h in range(0,( (1650-a*1000-b*500-c*200-d*100-e*50-f*20-g*10)/5 )+1):
-
times+=(((1650-a*1000-b*500-c*200-d*100-e*50-f*20-g*10-h*5)/2)+1)
-
print times
-
print "1000*%d 500*%d 200*%d 100*%d 50*%d 20*%d 10*%d 5*%d" %(a,b,c,d,e,f,g,h)
阅读(977) | 评论(0) | 转发(0) |