1、题目
打印出所有的 "水仙花数 ",所谓 "水仙花数 "是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个 "水仙花数 ",因为153=1的三次方+5的三次方+3的三次方。
2、思路
分别获取百、十、个位数字,进行三次方运算,与该数比较是否相同
3、JAVA实现
public class Shuixianhua {
public static void main(String[] args) {
int a, b, c;// a代表个位,b代表十位,c代表百位
int count = 0;
System.out.print("水仙花数有:");
for (int i = 100; i < 1000; i++) {
a = i%10; // 个位数算法
b = i/10%10; // 十位数算法
c = i/100; // 百位数算法
if(a*a*a+b*b*b+c*c*c==i) {
count++;
System.out.print("\t"+i);
}
}
System.out.printf("\n共有%d个水仙花数",count);
}
}
// 水仙花数有: 153 370 371 407
// 共有4个水仙花数
评论区