水仙花数是指一个 n 位正整数 ( n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身。(例如:1^3 + 5^3+ 3^3 = 153)
import java.util.Map;
/**
* Created by Leon on 2017/4/7.
*/
public class Solution
{
public static void main(String[] args)
{
int num,i,add=0;
int n=1;
for (i=3;i<=1000;i++)
{
if (i<10)//一位数都是水仙花数
{
//num=Math.pow(i,1);
//if (num==i)
// {
System.out.println("第"+n+"个水仙花数:"+i);
n++;
add+=i;
//}
}
if (i<100&&i>=10)//两位数
{
num=(int)(Math.pow((double)(i%10),2.0)+Math.pow((double)(i/10),2.0));
if (num==i)
{
System.out.println("第"+n+"个水仙花数:"+num);
n++;
add+=num;
}
}
if (i<1000&&i>=100)//三位数
{
num=(int)(Math.pow((double)(i/100),3.0)+Math.pow((double)((i%100)/10),3.0)+Math.pow((double)(i%10),3.0));
if (num==i)
{
System.out.println("第"+n+"个水仙花数:"+num);
n++;
add+=num;
}
}
}
System.out.println("水仙花数总和为:"+add);
}
}