Python/Beakjoon
1977번: 완전제곱수
hyunjoo
2021. 8. 22. 20:46
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))
반응형