一个N位数的各位数的N次方之和等于这个数,称为Armstrong数,其中,3位Armstrong数即我们常说的水仙花数。要找出2、3、4、5位的所有Armstrong数,关于该问题的求解思路,以下说法正确的是:
A: 判断某个数是否是Armstrong数,先判断其位数n,再判断它是否等于各位数的n次方和。
B: 可以采用整除、取余的方法分离n位数的各位数字。
C: 该问题适合于用穷举法来解决。
D: 要找出5位Armstrong数,必须对10000~99999中的每一个数进行判别。
A: 判断某个数是否是Armstrong数,先判断其位数n,再判断它是否等于各位数的n次方和。
B: 可以采用整除、取余的方法分离n位数的各位数字。
C: 该问题适合于用穷举法来解决。
D: 要找出5位Armstrong数,必须对10000~99999中的每一个数进行判别。
举一反三
- 编程判断整数n是否是水仙花数。水仙花数是一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身。例如153就是一个水仙花数。
- 如果一个n位正整数等于其各位数字的n次方之和,则称该数为阿姆斯特朗数。 例如1 * 1 * 1 + 5 * 5 * 5 + 3 * 3 * 3 = 153。 请编写程序,检测用户输入的三位数数字是否为阿姆斯特朗数。
- 打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。 例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。 请补充横线处代码: for n in range(100,1000): i=n //100 j=n//10 %10 k=n % 10 if print(n)
- 编一个程序, 打印出所有的“水仙花数”, 所谓“水仙花数” 是指一个三 位数, 其各位数字立方和等于该数本身。 例如, 153=1*1*1+5*5*5+3*3*3 , 所 以 153 是“ 水仙花数”
- 从键盘上输入一个100-999之间整数,判断其是否为水仙花数,是则输出yes,否则输出no。水仙花数指一个n位数(n≥3),其每位上的数字的3次幂之和等于它本身。例如153=1^3+5^3+3^3,153是水仙花数。