思路

  • 遍历
  • range,从0开始,一直到n+1(这里要注意不能漏最后一个)
  • 一个数字的末尾是2,3,4,7,8,9的话,不可能题目要求,平方的末尾都和自己不一样;
  • 数字to字符串,对i的整体和j的倒数几位直接对比计数即可。

代码

while True:
    try:
        n = int(input())
        c = 0
        for i in range(n+1):
            if i%10 in [2, 3, 4, 7, 8, 9]:
                continue
            j = str(i**2)
            i = str(i)
            if i==j[-len(i):]:
                c += 1
        print(c)
    except:
        break