题目描述
给定一个n 位整数 (n≥3 ),判断它的每个位上的数字的 n 次幂之和是否等于它本身。
例如:
3位数153(此时n=3),1^3 + 5^3 + 3^3=153
4位数8208(此时n=4),84+24+04+84=8208
代码如下(示例):
#include<stdio.h>
#include<math.h>
int main()
{
int a,sum=0,n=0,s,t;
scanf("%d",&a);
s=a;
t=a;
while(s>0)//判断整数是几位数
{
s=s/10;
n++;
}
for(int i=0;i<n;i++)//幂总和
{
sum=sum+pow(a%10,n);
a/=10;
}
if(sum==t) //判断次幂之和是否等于它本身
printf("Yes\n");
else
printf("No\n");
return 0;
}