4071: 【例5.6】火柴数字问题(科教)

内存限制:128 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:19 解决:9

题目描述

你要从0到111输出所有恰好好需要6根火柴棒摆出的所有数。

火柴棒摆数字如图所示:

输入

(无)

输出

输出若干行,每行一个数,表示0到111输出所有恰好好需要6根火柴棒摆出的所有数。

样例输入 复制


样例输出 复制


提示

cnt=[6,2,5,5,4,5,6,3,7,6]
snum=6  #6根火柴棒
for num in range(112):
    #计算数字num需要多少火柴棒,记作bnum
    bnum=0
    if num<10:
        bnum=cnt[num]
    elif num<100:
        bnum=cnt[num//10]+cnt[num%10]
    else:
        bnum=cnt[num//100]+cnt[num//10%10]+cnt[num%10]
    #如果i需要的火柴数与现有火柴棒相等
    if bnum==snum:
        print(num)