题:用自定义函数,火柴棒摆数字有6根火柴棒,列出所有能摆出的自然数, 要求火柴棒正好摆完
解析:
1、0-9这十个数字,每个数字分别需要的火柴根数如下
2、用6根火柴摆出的最小数字是:0
用6根火柴摆出的最大数字是:111
3、Python源代码:
def nums(x):
a=[6,2,5,5,4,5,6,3,7,6]
if 10>x>=0:
return a[x]
elif 100>x>=10:
strNum=str(x)
shi=strNum[0]
ge=strNum[1]
return a[int(shi)]+a[int(ge)]
else:
strNum=str(x)
bai=strNum[0]
shi=strNum[1]
ge=strNum[2]
return a[int(bai)]+a[int(shi)]+a[int(ge)]
#主程序
for i in range(112):
if nums(i)==6:
print(i)