输入一个整数
代表自守数的范围。
输出一个整数,代表
到
之间的自守数个数。
25
5
在这个样例中,
是自守数。
n = int(input()) a = [] t = [] N = 0 for i in range(n + 1): ping = str(i ** 2) a = list(ping) for j in range(len(a)): if int(''.join(a[j:])) == i: N += 1 break #这个退出是由于2000里的异常数据625,625*625=290625.而“0625”在转换成int的时候会多加一次 print(N)
x = int(input()) y = list() for i in range(0, x + 1): a = i * i if i == int(str(a)[-1]) and i <= 10: y.append(i) elif i == int(str(a)[-2:]) and i <= 100: y.append(i) elif i == int(str(a)[-3:]) and i <= 1000: y.append(i) elif i == int(str(a)[-4:]) and i <= 10000: y.append(i) print(len(y))
""" 1. 遍历数 2. 求平方,然后截取出尾数 3. 比较尾数和i是否相等 """ n = int(input()) res = 0 for i in range(n+1): p = pow(i,2) il = len(str(i)) sub = str(p)[-il:] if str(i) in sub: res += 1 print(res)
n = int(input()) count = 0 for i in range(0, n+1): sq = i ** 2 if sq == i&nbs***bsp;int(str(sq)[len(str(sq))-len(str(i)):]) == i: count += 1 print(count)
dic = [] x = int(input()) for i in range(x+1): n = len(str(i)) if i * i % (10 ** n) == i: flag = 1 else: flag = 0 if flag == 1: dic.append(i) print(len(dic))
n = input() count = 0 for i in range(int(n)+1): ii = i ** 2 m = str(ii) if i == int(m[m.rfind(str(i)):]): #判断是否为自守数 count += 1 print(count)