想要找出水仙花数,首先我们得知道水仙花数是什么?水仙花数(Narcissistic number)也被称为超完全数字不变数(pluperfect digital invariant, PPDI)、自恋数、自幂数、阿姆斯壮数或阿姆斯特朗数(Armstrong number),水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身。例如:1^3 + 5^3+ 3^3 = 153。
第一种解法:
public class 水仙花数 {
public static void main(String[] args) {
int b,s,g;//定义好三个变量用来存储这个数字的百位,十位,个位
for (int num =100;num<1000;num++) {
b=num/100; //对100取余得出它的百位数
s=num/10%10; //对10取余,再对10取模得出它的十位数
g=num%10;//对10取模得出它的个位数
if ((b*b*b+s*s*s+g*g*g)==num){
//如果他们的每一位数的自身立方加起来等于自己那么它就是个水仙花数了
System.out.println(num);
}
}
}
}
第二种解法:
他跟第一种解法差不多,就是判断时所用的计算方法不一样而已
public class 水仙花数 {
public static void main(String[] args) {
int b,s,g;//定义好三个变量用来存储这个数字的百位,十位,个位
for (int num =100;num<1000;num++) {
b=num/100; //对100取余得出它的百位数
s=num/10%10; //对10取余,再对10取模得出它的十位数
g=num%10;//对10取模得出它的个位数
if ((Math.pow(b,3)+Math.pow(s,3)+Math.pow(g,3))==num){
//通过对每一个位数进行Math的pow函数进行三次方运算
//如果他们的每一位数的自身立方加起来等于自己那么它就是个水仙花数了
System.out.println(num);
}
}
}
}



