题目描述
水仙花数是指一个N
位正整数(N≥3
),它的每个位上的数字的N
次幂之和等于它本身。
例如:153=1^3+5^3+3^3
。
8208 = 8^4+2^4+0^4+8^4
这道题请写出程序判断输入的数是否为水仙花数
输入描述:
首先输入正整数 n,表示需要判断的数的个数 (1<=n<=100) 随后每一行输入一个数 Ai,对于每次输入判断 Ai 是否为水仙花数
输出描述:
每次判断 Ai 输出判断结果: 如果是,输出 yes 否则输出 no输入
3 111 153 222输出
no yes no
#include <stdio.h>
#include <math.h>
int main(){
int n;
scanf("%d",&n);
while(n--){
int m,m1,count=1,sum=0,m2,m3;
scanf("%d",&m);
m1=m;
m3=m;
while(m1>9){
m1/=10;
count++;
}
while(m>9){
m2=m%10;
sum+=pow(m2,count);
m/=10;
}sum+=pow(m,count);
if(m3==sum){
printf("yes\n");
}
else{
printf("no\n");
}
}
return 0;
}