int p: 범위내 최소 숫자.
int q: 범위내 최대 숫자.
p이상 q 이하의 숫자들 중에서 조건을 만족하는 숫자를 오름차순으로 출력
만약 없다면 , 'INVALID RANGE' 를 출력
반환값은 없다.
제곱한 결과가 한 자리 숫자이면 만약 제곱수가 제곱한 수와 같다면 출력하면 된다.
제곱한 결과가 10 이상이면서 홀수 길이이면 조건을 만족하지 못한다.
제곱한 결과가 10 이상이면서 짝수 길이이면 반을 나눠서 두 수의 합이 제곱하는 숫자와 같은지 확인해서 같다면 출력하면 된다.
def kaprekarNumbers(p, q):
# Write your code here
result = list()
for num in range(p,q+1):
square = str(num*num)
if(len(square)==1):
if(num*num == num):
result.append(num)
else:
if(int(square[0:len(square)//2])+int(square[len(square)//2:])==num):
result.append(num)
if(len(result)==0):
print('INVALID RANGE')
else:
for i in result:
print(i , end=' ')