题目描述
给定一个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");elseprintf("No\n");return 0;}