Home 水仙花
Post
Cancel

水仙花

7-1 输出所有水仙花数

输出所有的“水仙花数”。所谓“水仙花数”是指一个3位数,其各位数字立方和等于该数本身。例如,153是一个水仙花数,因为153=1X1X1+5X5X5+3X3X3。

输入格式:

输出格式:

输出所有水仙花数,换行隔开

1
2
3
4
5
for a in range(1,10):
    for b in range(0,10):
        for c in range(0,10):
            if str(a)+str(b)+str(c) == str(a*a*a+b*b*b+c*c*c):
                print(a*a*a+b*b*b+c*c*c)

7-2 打印水仙花数

打印水仙花数。水仙花数是一个三位数,其各位数字的立方和与原数相等。

输出格式:

按递增顺序输出所有水仙花数,每个数输出占5列。

输出样例:

153 370 371 407

1
2
3
4
5
for a in range(1,10):
    for b in range(0,10):
        for c in range(0,10):
            if str(a)+str(b)+str(c) == str(a*a*a+b*b*b+c*c*c):
                print("%5d"%(a*a*a+b*b*b+c*c*c),end='')

7-3 百钱百鸡

1、中国古代数学家张丘建在他的《算经》中提出了著名的“百钱买百鸡问题”:鸡翁一,值钱五,鸡母一,值钱三,鸡雏三,值钱一,百钱买百鸡,问翁、母、雏各几何? 要求: 给出所有的解,每组解占一行 解的顺序:按“字典序”排列,即公鸡数少的在前;公鸡数相同,母鸡数少的在前。

输入格式:

输出格式:

cock=%d,hen=%d,chicken=%d\n

1
2
3
4
5
for g in range(0,100):
    for m in range(0,100):
        for c in range(0,100):
            if g * 5 + m * 3 + c/3 *1 == 100 and g+m+c == 100:
                print('cock=%d,hen=%d,chicken=%d'%(g,m,c))
This post is licensed under CC BY 4.0 by the author.