问题描述
153是一个非常特殊的数,它等于它的每位数字的立方和,即153=1*1*1+5*5*5+3*3*3。编程求所有满足这种条件的三位十进制数。
输出格式
按从小到大的顺序输出满足条件的三位十进制数,每个数占一行。
/*
需求:153是一个非常特殊的数,它等于它的每位数字的立方和,即153=1*1*1+5*5*5+3*3*3。
编程求所有满足这种条件的三位十进制数。(即打印水仙花数)
思路:利用除和模运算将原数拆分成个十百位,再判断各个位的立方和是否为原数字
*/
public class Main {
public static void main(String[] args) {
int a,b,c; //定义三个变量存放数据的百位、十位、个位
for(int i=100;i<=999;i++)
{
a = i / 100; //获取百位上的数字
b = i%100/10;//获取十位上的数字
c = i%10; //获取个位上的数字
if(a*a*a+b*b*b+c*c*c==i)
System.out.println(i);
}
}
}
该题就是打印出所有的水仙花数,思路见注释。