水仙花数是指一个三位整数的个位,十位,百位3个数的立方和等于该数本身。
例如:153 = 111 + 555 +333 是水仙花数。
方法一
用for循环
package com.ty.java;
public class Number {
public static void main(String[] args) {
int count = 0;
for (int i = 100; i <= 1000; i++) {
int a = i/100; //取出百位数
int b = i/10%10; //取出十位数
int c = i%10; //取出个位数
if (i == a*a*a +b*b*b +c*c*c){
count++; //如果符合条件,计数+1
System.out.println(i + "是水仙花数");
}
}
System.out.println("水仙花数一共有" + count + "个");
}
}
方法二
用while循环
package com.ty.java;
public class Number {
public static void main(String[] args) {
int count = 0;
int i = 100;
while (i<=1000){
int a = i/100; //取出百位数
int b = i/10%10; //取出十位数
int c = i%10; //取出百位数
if (i == a*a*a +b*b*b +c*c*c){
count++;
System.out.println(i + "是水仙花数");
}
i++; //使i自增,保证循环可以运行
}
System.out.println("水仙花数一共有" + count + "个");
}
}
代码运行如下:
com.ty.java.Number
153是水仙花数
370是水仙花数
371是水仙花数
407是水仙花数
1000是水仙花数
水仙花数一共有5个
Process finished with exit code 0