(java 编写程序)求1000以内的水仙花数.

/*
3、求1000以内的水仙花数.
水仙花数是指一个 n 位数,它的每个位上的数字的 n 次幂之和等于它本身。
(例如:1^3 + 5^3 + 3^3 = 153)


*/


public class  PracticeDaffodil{
public static void main(String[] args){
int m=1000;
for(int i=1;i<1000;i++){
if(i<=9){
System.out.print(i+" ");
}
else if(i<100){
int a0=i; 
int a1=i/10;//求十位数
int a2=i%10;//求个位数
if(a1*a1+a2*a2==a0){
System.out.print(a0+" ");
}
}else if(i>100&&i<999){
int b0=i;
int b1=i/100;//求百位数字
int b2=i%100;
int b3=b2/10;//求十位数字
int b4=b2%10;//求个位数字
if(b1*b1*b1+b3*b3*b3+b4*b4*b4==b0){
System.out.print(b0+" ");
}
}
else{
int c0=i;
int c1=i/1000;//求千位数字
int c2=i%1000;
int c3=c2/100;//求百位数字
int c4=c2%10;
int c5=c4/10;//求十位数字
int c6=c4%10;//求个位数字
if(c1*c1*c1*c1+c3*c3*c3*c3*c3+c5*c5*c5*c5+c6*c6*c6*c6==c0){
System.out.print(c0+" ");
}
}
}

}
}

你可能感兴趣的:(算法代码)