/**
* 描述:打印出所有的“水仙花数”,所谓的“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:
* 153=1^3+5^3+3^3等...
* 分析:利用for循环控制100-999个数,分别解出个位、十位、百位,然后分别将个位、十位、百位的立方和相加
* 看看是否等于该数本身。
* 作者:徐守威
*/
package com.xushouwei;
public class T3 {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.print("100-999内水仙花数有:");
//遍历100-999之间的数
for(int i=100;i<1000;i++)
{
//调用Math类的pow方法求出个位的立方值
int geWei=(int)Math.pow((i%10), 3);
//调用Math类的pow方法求出十位的立方值
int shiWei=(int)Math.pow((i%100/10), 3);
//调用Math类的pow方法求出百位的立方值
int baiWei=(int)Math.pow((i/100), 3);
//定义一个数用于表示三个数的立方和
int sum=geWei+shiWei+baiWei;
//判断sum时候等于三个数的立方和
if(sum==(double)i)
{
System.out.print(i+" ");
}
}
}
}