万卷网 > 题目详情
题型:编程题

自幂数判断

【问题描述】

自幂数是指,一个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


更新时间:2023-06-21 10:52:48 |
【知识点】 CCF—GESP C++二级

相似题推荐

单选题

下面代码用来找出输入的N个正整数中最大的一个。如果将代码段用流程图来表示,则 L1 标记的代码行应 该使用的图形是( )。

int N, max=0, val; 
cin >> N; 

while(N){ 
    cin >> val; 
    if(val > max) // L1 
        max = val; 
    N--; 
} 
cout << max;
A.

圆形框

B.

椭圆形框

C.

平行四边形框

D.

菱形框

2026-09-29
判断题

下面C++代码段执行后将输出 0-3-6-9- 。 ( )

for (int i = 0; i < 10; i++){ 
    if (i % 3) 
        continue; 
    cout << i << "-"; 
}


A.正确 B.错误
2026-09-29
单选题

下面的 C++ 代码段正常执行后其输出的数字图形是( )。

for (i = 1; i < 5; i++){ 
    for (j = 1; j < i+1; j++) 
        cout << j; 
    cout << endl; 
}
A.

1

12

123

1234

B.

1

22

333

4444

C.

1

21

321

4321

D.

4

34

234

1234

2026-09-29
判断题

C++ 语句cout << ('4' % '2' == '2' * '2' % 2); 执行后的输出是1。( )

A.正确 B.错误
2026-09-29
单选题

下面 C++ 代码段执行后,其输出是( )。

int i, j, cnt; 
cnt = 0; 
for (i = 0; i < 5; i++){ 
    i = -i; for (j = i; j < -i; j++) cnt += 1; 
    i = -i; 
} 
cout << cnt;
A.

5

B.

15

C.

20

D.

30

2026-09-29
公众号
客服 反馈
顶部