大家好,欢迎和感谢大家阅读我的博客。 首先来为大家科普一下什么是水仙花数。水仙花数(Narcissistic number)也被称为超完全数字不变数(pluperfect digital invariant, PPDI)、自恋数、自幂数、阿姆斯壮数或阿姆斯特朗数(Armstrong number),水仙花数是指一个 3 位数,它的每个数位上的数字的 3次幂之和等于它本身。例如:1^3 + 5^3+ 3^3 = 153
那么了解了什么是水仙花数,我们就可以开始我们的编写代码了。
public class FlowControlDemo {
public static void main(String[] args) {
int total = 1000; //求1000以内的水仙花数
for (int i =100; i < total; i++) {
int h = i / 100; // 百位
int t = (i / 10) % 10; // 十位
int g = i % 10; // 个位
int result = h * h * h + t * t * t + g * g * g;
if (result == i) {
System.out.println(i);
}
}
}
现在对上面的代码做一个讲解,首先定义了一个total变量,是一个整型数据并且为其赋值为1000。往下走,有一个for循环,在循环体中定义了整型数据i = 100,且i 是小于total的,每一次循环i都在前一次的基础上增加1,紧接着定义三个变量,分别为一个三位数的百位、十位、个位。再根据自恋数的规则进行运算,如果算出来的result值和i相同,则打印出i,这个符合判定条件的i就是我们的水仙花数。
2635

被折叠的 条评论
为什么被折叠?



