반응형
문제
1977번: 완전제곱수
M과 N이 주어질 때 M이상 N이하의 자연수 중 완전제곱수인 것을 모두 골라 그 합을 구하고 그 중 최솟값을 찾는 프로그램을 작성하시오. 예를 들어 M=60, N=100인 경우 60이상 100이하의 자연수 중 완
www.acmicpc.net
풀이
M부터 N까지, 완전제곱수를 power 배열에 저장하고 합과 최솟값을 출력합니다.
만약 power 배열의 크기가 0이라면 해당 구간에 완전제곱수가 없음을 의미하므로 -1을 출력합니다.
M = int(input())
N = int(input())
power = []
for i in range(M, N + 1):
if int(i ** 0.5) ** 2 == i:
power.append(i)
if len(power) == 0:
print("-1")
exit()
else:
print(sum(power))
print(min(power))
반응형
'📊 알고리즘' 카테고리의 다른 글
[백준] 15678 - 연세워터파크 (C++) (0) | 2023.10.03 |
---|---|
[백준] 2745 - 진법 변환 (Python) (0) | 2023.10.02 |
[백준] 2154 - 수 이어 쓰기 3 (Python) (0) | 2023.10.02 |
[백준] 27465 - 소수가 아닌 수 (C++) (0) | 2023.10.02 |
[백준] 11966 - 2의 제곱인가? (C++) (0) | 2023.10.02 |