완전 제곱수 - 1977

Update:     Updated:

Category:

Tags:


1977번: 완전제곱수

주어진 $M, N$ 사이에 있는 수 중에서 완전 제곱수를 찾는 문제 (합, 최솟값)


맞았습니다! 풀이

1부터 N까지 돌면서 완전제곱수를 찾는 방식으로 풀었다.

M = int(input())
N = int(input())

min, res = N + 1, []

for n in range(1, N + 1):
  sqrd = n * n
  if sqrd >= M and sqrd <= N:
    res.append(sqrd)
    if min > sqrd: # 최소 완전제곱수 구하기
      min = sqrd

res_sum = sum(res)

if res_sum != 0:
  print(res_sum)

if min == N+1:  # 완전제곱수가 존재하지 않는 경우
  print(-1)
else:
  print(min)





맨 위로 이동하기