输入样例:
3
92 5 233
输出样例:
3 25392
1 25
No
M = int(input())
K = list(map(int,input().split(" "))) #这个列表用来存放M个待检测的数字
# 题目保证N < 10
for i in range(M):
for j in range(10):
n = len(str(K[i])) #用来统计K到底是几位数字 ,而且这个过程并不会影响list元素的属性
if (j*(K[i]**2)-K[i]) % (10**n) == 0:#如果K是两位数字,且其是一个什么自守数,那么减去他自身应该能够被100(10^2)整除
print(j,j*(K[i]**2),sep = " ")
break
else:
print('No')
思路,K有几位,那么减去这个K应该能整除一个东西,比如K是两位数字,减去K之后NK^2应该就是一个100的整数。
还有就是break和这个else的使用,可以参考博客[1] ,注意不要把else放在内循环,否则会出现错误。
references:
[1] https://blog.csdn.net/weixin_43731183/article/details/88017592