- 1.题目
- 2.分析
- 3.代码
- 4.运行结果
水仙花数是指一个N位正整数(7≥N≥3),它的每个位上的数字的N次幂之和等于它本身。例如:153=13+53+33。 要求编写程序,计算所有N位水仙花数。
2.分析问题分析:“水仙花数”是指一个三位数,其各个位数字的立方和刚好等于该数本身。如:153=111+555+333,则153是一个“水仙花数”。
a.“水仙花数”是指一个三位数——则此题实际上是在求100~999之间的所有“水仙花数”并输出;
b.要想将各个位数字立方和相加则需求出各个位分别对应的数字为多少。
即:个位 = 数字%10;
十位 = (数字 / 10) % 10;
百位 = 数字 / 100。
3.代码
public static void main(String[] args) {
for (int i = 0; i < 1000; i++) {
int h = i / 100;
int t = i % 100 / 10;
int s = i % 10 ;
if (h*h*h+t*t*t+s*s*s==i){
System.out.println(i+"是水仙花数");
}
}
}
4.运行结果
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)