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

自幂数

【问题描述】

1. 判断一个正整数是否为自幂数;

2. 自幂数是指 N 位数各位数字 N 次方之和是本身,如 153 是 3 位数,其每位数的 3次方之和是 153 本身,因此 153 是自幂数,1634 是 4 位数,其每位数的 4 次方之和是 1634 本身;

3. 首先输入一个整数 M 表示随后有 M 行每行有一个整数,输出每个整数是否为自幂数,如是则输出 T,否则 F。

【输入描述】

1. 输入正整数 M(1 <= M <= 100)。不考虑输入不合规情形如负数、负整数、零或其他字符串等;

2. 从第 2 行开始,输入 M 行每行一个正整数(1 <= M <= 2147483647);

3. 特别提示:常规程序中,输入时好习惯是有提示。考试时由于系统限定,输入时所有 input()函数不可有提示信息。

【输出描述】

1. 输出对应正整数是否为自幂数,如是则输出一个英文字母 T,否则一个英文字母 F;

2. 特别提示:注意输出字母为大写,小写将判为错误,前后没有空格等。


【样例输入 1】

3
152
111
153

【样例输出 1】

F
F
T


【样例输入 2】

5
8208
548834
88593477
12345
5432

【样例输出 2】

T
T
T
F
F
更新时间:2023-06-23 12:40:02 |
【知识点】 CCF—GESP Python二级

相似题推荐

单选题

下面的Python 代码执行后其输出是( )。

cnt = 0
for i in range(1, 5):
    for j in range(i):
        print(j, end = "#")
    break
else:
    print(i*j)
A.

0#0#1#0#1#2#0#1#2#3#12

B.

0#0#1#0#1#2#0#1#2#3#

C.

0#

D.

1#

2026-07-31
判断题

下列Python 代码执行后将输出1#4#9#16#16 。()

for i in range(1, 5):
    for j in range(1, i + 1):
        if i * j % 10 == 0:
            break
    else:
        print(i * j, end = "#")
else:
    print(i * j)
A.正确 B.错误
2026-07-31
判断题

下面的Python 代码执行将不会有输出,因为内层循环j 总是0 开始,i * j % 10 == 0 将会被满足,执行break,故而不会执行代码中的else 子句部分。()

for i in range(1, 10):
    for j in range(i):
        if i * j % 10 == 0:
            break
else:
    print(i*j)


A.正确 B.错误
2026-07-31
判断题

执行下面的Python 代码,其语句print(N) 将被执行0 次或极多次(即死循环)。()

N = input() 
while N :
    print(N)
A.正确 B.错误
2026-07-31
单选题

下面选择项中,与Python 表达式not (x > 5 and y <= 10)等价的是( )。

A.

x <= 5 and y > 10

B.

x > 5 or y <= 10

C.

x <= 5 or y > 10

D.

not x > 5 and not y <= 10

2026-07-31
公众号
客服 反馈
顶部