编写一个判断一个数是否是水仙花数的函数,然后利用该函数求所有的水仙花数之和。(水仙花数是一个三位数,其每位上数字的立方和等于这个数。如153=1*1*1+5*5*5+3*3*3,153是水仙花数)。
def daffodil(n): i = n // 100 #百位数 j = n // 10 % 10 #十位数 k = n % 10 #个位数 return n == i**3 + j**3 + k**3 [br][/br] total = sum([n for n in range(100,1000) if daffodil(n)]) print('所有水仙花数之和是:',total) #结果为1301,水仙花数[153, 370, 371, 407]
举一反三
- 编写一个求水仙花数的函数。所谓水仙花数是指一个三位数,其各位数字立方的和等于该数。例如:153就是一个水仙花数:153=1*1*1+5*5*5+3*3*3
- 编写一个求水仙花数的函数,在主函数中调用函数输出所有的水仙花数。所谓水仙花数是指一个三位数,其各位数字立方的和等于该数。例如,153就是一个水仙花数:153=1*1*1+5*5*5+3*3*3
- 编程序,判断输入的一个三位数是否是水仙花数。水仙花数的定义:如果一个数等于其各个数字的立方和,则称其为水仙花数。例如153=1*1*1+5*5*5+3*3*3。
- 输出所有得“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方之和例如,153是水仙花数!因为153=1*1*1+5*5*5+3*3*3
- 设计程序,求所有的水仙花数,水仙花数是一个3位数,其各位数字的立方和等于该数本身。例如153=1*1*1+5*5*5+3*3*3,153即是一个水仙花数。
内容
- 0
编写程序:从键盘输入一个三位数(正数),判断并输出该数是否为水仙花数。所谓的水仙花数是指一个三位数,其各个位数字的立方和等于该数本身,如:153就是一个水仙花数,153=1*1*1+5*5*5+3*3*3
- 1
2. 输出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其中各位数字立方和等于该数字本身。例如:153是一个“水仙花数”,因为153=1*1*1+5*5*5+3*3*3
- 2
编一个程序, 打印出所有的“水仙花数”, 所谓“水仙花数” 是指一个三 位数, 其各位数字立方和等于该数本身。 例如, 153=1*1*1+5*5*5+3*3*3 , 所 以 153 是“ 水仙花数”
- 3
输入一个3位数,判断是否是一个“水仙花数”。 水仙花数是指3位数的各位数字的立方和等于这个三位数本身。例如:153=1*1*1+5*5*5+3*3*3;
- 4
编程计算所有的水仙花数并输出。 (所谓水仙花数是指一个三位数,其各位数字立方和等于该数本身。例如:153=1*1*1+5*5*5+3*3*3)