PAT B1091 N-自守数

输入样例:

3
92 5 233
 

输出样例:

3 25392
1 25
No

‘解题思路:判断的时候将结果转换成字符串,判断后面几位数字和输入数字是否相同,掉进了N是从1到10的坑,而不是1到9

N = input()
k_num = list(map(int, input().split()))

for i in range(0, int(N)):
    for j in range(1, 10):
        # 计算当前数字的平方乘1到9的循环
        n_k_num = j * (k_num[i] ** 2)
        flag = False  # 是否是自守数
        s = str(n_k_num)  # 将结果转成字符串然后取后几位进行判断
        if s[-len(str(k_num[i])):] == str(k_num[i]):
            flag = True
            print(j, n_k_num)
            break
    if not flag:
        print('No')
原文地址:https://www.cnblogs.com/syq816/p/12682120.html