题目要求:
打印出1~10000范围内的所有的“水仙花数”,所谓“水仙花数”是指由一个3位数,其各位数字立方和等于该数本身。例如,153是一个“水仙花数”,因为153=(1^3+5^3+3^3)。
水仙花思路:
1. 打印出1-10000中所有的水仙花数,因为水仙花数是三位数所以从100-1000之间。
2. 假设这个数为i,则这个数的个位,十位,百位的立方和等于i。
代码示例:
package circulate;
public class Daffodil {
public static void main(String[] args){
//假设这个数是153
for (int i = 100; i < 1000; i++) {
int h=i/100;//百位,153/100=1(因为是int类型故取整为1)
int s=i%100/10;//十位,153%100=53 53/10=5
int t=i%10;//个位,153%10=3
if (h*h*h+s*s*s+t*t*t==i) {
System.out.println(i+"为水仙花数");
}
}
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)