제곱 팰린드롬이란? 숫자 a와 제곱근 a가 모두 팰린드롬 수인 것
만약 1일 경우, 제곱근을 씌우면 1.0이 되버려 팰린드롬이 아니게 된다.
그러나 int로 감싸줄 경우, 이 1이 되버려 팰린드롬 수가 되버린다.
따라서, int로 감싸준 후 다시 float로 감싸준 경우와 같다면, 팰린드롬인지 판별해준다.
ex) ,
float(int(3**0.5)) = float(1) = 1.0
1.0은 제곱근 3과 같지 않으므로 팰린드롬 판별을 하지 않는다.
# 테스트 케이스 개수
t = int(input())
def palindrome(n): # 팰린드롬 판별 함수
if float(int(n)) == n:
n = str(int(n))
if n == n[::-1]:
return 1
return 0
for i in range(1, t + 1):
a, b = map(int, input().split())
ans = 0
for num in range(a, b + 1):
# 숫자 num과 (num**0.5)가 모두 팰린드롬이면, +1
if palindrom(num) and palindrom(num ** 0.5):
ans += 1
print(f"#{i} {ans}")