一个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);} }