一个n位自然数等于自身各个数位上数字的n次幂之和
例如:
153=1^3+5^3+3^3
1634=1^4+6^4+3^4+4^4
如果自幂数是一位数叫独身数
三位自幂数叫做水仙花数
四位自幂数叫做四叶玫瑰数
五位自幂数叫做五角星数
package Exercises;
public class Demo09 {
public static void main(String[] args) {
int count=0;
for(int i=100;i<1000;i++){
int ge=i%10;
int shi=i/10%10;
int bai=i/100%10;
double sum=Math.pow(ge,3)+Math.pow(shi,3)+Math.pow(bai,3);
if(sum==i){
count++;
}
}
System.out.println(count);
}
}
package Exercises;
public class Demo10 {
public static void main(String[] args) {
int count=0;
for(int i=10;i<100;i++){
int ge=i%10;
int shi=i/10;
double sum=Math.pow(ge,2)+Math.pow(shi,2);
if(sum==i){
count++;
}
}
System.out.println(count);
}
}
package Exercises;
public class Demo11 {
public static void main(String[] args) {
int count_four=0;
int count_five=0;
for(int i=1000;i<10000;i++){
int ge_four=i%10;
int shi_four=i/10%10;
int bai_four=i/100%10;
int qian_four=i/1000;
double sum_four=Math.pow(ge_four,4)+Math.pow(shi_four,4)+Math.pow(bai_four,4)+Math.pow(qian_four,4);
if(sum_four==i){
count_four++;
}
}
System.out.println(count_four);
for(int i=10000;i<100000;i++){
int ge_five=i%10;
int shi_five=i/10%10;
int bai_five=i/100%10;
int qian_five=i/1000%10;
int wan_five=i/10000;
double sum_five=Math.pow(ge_five,5)+Math.pow(shi_five,5)+Math.pow(bai_five,5)+Math.pow(qian_five,5)+Math.pow(wan_five,5);
if(sum_five==i){
count_five++;
}
}
System.out.println(count_five);
}
}