链接:https://ac.nowcoder.com/acm/problem/14386
来源:牛客网
时间限制:C/C++ 1秒,其他语言2秒
空间限制:C/C++ 32768K,其他语言65536K
64bit IO Format: %lld
题目描述
水仙花数是指一个N位正整数(N≥3),它的每个位上的数字的N次幂之和等于它本身。
例如:153=13+53+3^3。
8208 = 84+24+04+84
这道题请写出程序判断输入的数是否为水仙花数
输入描述:
首先输入正整数 n,表示需要判断的数的个数 (1<=n<=100)
随后每一行输入一个数 Ai,对于每次输入判断 Ai 是否为水仙花数
输出描述:
每次判断 Ai 输出判断结果:
如果是,输出 yes
否则输出 no
n = int(input())
A = []
for _ in range(n):
A.append(int(input()))
def fn(x):
s = str(x)
k = len(s)
ans = 0
for i in range(k):
ans += (int(s[i]))**k
if ans == x:
return True
else:
return False
for i in range(n):
if fn(A[i]):
print("yes")
else:
print("no")