JAVA实现水仙花数
1.水仙花数的概念:
水仙花数也被称为超完全数字不变数、自恋数、自幂数、阿姆斯壮数或阿姆斯特朗数,严格的定义水仙花数,是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身。 比如:153=13+53+3^3
2.代码:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
System.out.println("输入一个数字,程序将输出该数字范围内的水仙花数");
Scanner s1 = new Scanner(System.in);
int x = s1.nextInt();
int y = 0, total = 0;
for (int j = 100; j <= x; j++) {///遍历每一个数字
for (int i = j; i > 0; i = i / 10) {/拆分数字的每一位
y = i % 10;
total = total + y*y*y;累加
}
if(total==j){判断该数是否等于原数字
System.out.println(j);
}
total=0;
}
}
}
结果:
输入一个数字,程序将输出该数字范围内的水仙花数
999
153
370
371
407