Python/Beakjoon

1977번: 완전제곱수

hyunjoo 2021. 8. 22. 20:46

1977번: 완전제곱수 (acmicpc.net)

 

1977번: 완전제곱수

M과 N이 주어질 때 M이상 N이하의 자연수 중 완전제곱수인 것을 모두 골라 그 합을 구하고 그 중 최솟값을 찾는 프로그램을 작성하시오. 예를 들어 M=60, N=100인 경우 60이상 100이하의 자연수 중 완

www.acmicpc.net

>>

a를 1부터 1씩 증가시키며 완전제곱수를 만들어 범위에 해당하는 수는 리스트에 저장한다.

리스트의 길이가 0 이면 범위에 해당하는 제곱수가 없는 것으로 -1을 출력하고

있는 경우, 리스트의 총합과 최솟값을 출력한다.

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

num=[]
a=1

while True:
    if a**2>=M and a**2<=N:
        num.append(a**2)
    elif a ** 2 > N:
        break
    a += 1


if len(num)==0:
    print('-1')
else:
    print(sum(num))
    print(min(num))
반응형