测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A37716. 问题描述1.判断一个正整数是否为自幂数;2.自幂数是指 N 位数各位数字 N 次方之和是本身,如 153 是 3 位数,其每位数的3次方之和是 153 本身,因此 153 是自幂数,1634 是 4 位数,其每位数的 4 次方之和是 1634 本身;3.首先输入一个整数 M 表示随后有 M 行每行有一个整数,输出每个整数是否为自幂 数,如是则输出 T,否则 F。输入描述1.输入正整数 M(1 <…

填空题 中等

题目描述

问题描述

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 

参考答案

#自幂数 N = int(input()) #输入数据的数量 for i in range(N): M = int(input()) #输入判断的数 howDigit = 0 #获得输入整数的位数 tmp = M while tmp != 0: howDigit += 1 tmp //= 10 #执行完本步,M 将减少 1 位 tnt = 0 tmp = M #计算各位幂次方的和 while tmp != 0: tnt = tnt+ ( tmp % 10) ** howDigit tmp //= 10 #判断是否为自幂数 if tnt == M: print("T") else: print("F")
上一题 下一题