public class Demo2 {
//首先要知道自幂数的定义
//自幂数:一个n位自然数等于自身各个位数上数字得n次幂之和
//举例:三位数 1^3+5^3+3^3=153
//四位数:1^4+6^4+3^4+4^4=1643
//如果自幂数是一个数,也叫独身数
//三位自幂数:水仙花数
//四位自幂数:四叶玫瑰数
//五位自幂数:五角星数
//六位自幂数:六合数
//七位自幂数:北斗七星数
//八位自幂数:八仙数
//九位自幂数:九九重阳数
//十位自幂数:十全十美数
public static void main(String[] args) {
//统计有多少个水仙花数
//水仙花数:100-999
// 统计有多少个符合条件的
int count=0;
for (int i = 100; i < 999; 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);
}
}
System.out.println(count);
}
}
我上边只计算了100~1000的自幂数,要想求更大的或一百以内的只需增加百千万即可,并除以对应的1000/10000......