自幂数是什莫了?
自幂数是指一个 n位数,它的每个数位上的数字的 n次幂之和等于它本身。
例如:1^3 + 5^3+ 3^3 = 153。
如何实现自幂数了?
(1)先求自幂数i的位数n;
(2)i的每位数自幂;
(3)判断i是不是自幂数;
以下是0-1000之内的自幂数代码如下:
#include<stdio.h>
#include<math.h>
int main()
{
int i = 0;
for (i = 0; i <= 1000; i++)
{
int n = 1;
int temp = i;
//判断i的位数
while (temp / 10)
{
n++;
temp = temp / 10;
}
temp = i;
int sum = 0;
//i的每位自幂
while (temp)
{
sum += pow(temp % 10, n);
temp = temp / 10;
}
//判断i是否是自幂数
if (sum == i)
{
printf("%d ", i);
}
}
return 0;
}