题目描述
自幂数是指,一个N位数,满足各位数字N次方之和是本身。
例如,153 是 3位数,其每位数的 3 次方之和,13 + 53 + 33 = 153,因此 153 是自幂数;
1634是 4 位数,其每位数的 4 次方之和,14 + 64 + 34 + 44 = 1634,因此 1634 是自幂数。
现在,输入若干个正整数,请判断它们是否是自幂数。
输入描述
输入第一行是一个正整数M,表示有M个待判断的正整数。约定 1 ≤ M ≤ 100。
从第 2 行开始的M行,每行一个待判断的正整数。
约定这些正整数均小于108。
输出描述
输出M行,如果对应的待判断正整数为自幂数,则输出英文大写字母’T’,否则输出英文大写字母’F’。
样例输入 1
3
152
111
153
样例输出 1
F
F
T
样例输入 2
5
8208
548834
88593477
12345
5432
样例输出 2
T
T
T
F
F
代码
#include <iostream>
#include <cmath>
using namespace std;
int main(){
int a,b;
cin>>a;
for(int i=1;i<=a;i++){
cin>>b;
int c=0;
int d=b,e=0;
while(d){
d/=10;
e++;
}
d=b;
while(d){
c+=pow(d%10,e);
d/=10;
}
if(c==b)
cout<<"T"<<endl;
else
cout<<"F"<<endl;
}
return 0;
}
965

被折叠的 条评论
为什么被折叠?



