브루트포스

[백준] 1977. 완전제곱수 풀이

hch06 2025. 2. 2. 20:23

https://www.acmicpc.net/problem/1977

 

1부터 100의 숫자 중 제곱하였을 때 주어진 값 범위에 들어오는지 확인하면 되는 문제였다. 

반복문을 통해 1부터 100까지의 숫자를 제곱해보고, 그 값이 m이상 n 이하이면 결과값(sum)에 그 값의 제곱을 더하고, 값의 제곱이 최솟값보다 작다면 min에 그 값의 제곱을 저장한다.
마지막에 결과값이 0이면 조건을 충족하는 수가 없는 것이므로 -1을 출력하고 그렇지 않다면 결과값(sum)과 최솟값(min)을 출력한다.

 


C

더보기
더보기
m = int(input())
n = int(input())

sum = 0; min = 10000
for i in range(1, 101):
    if i ** 2 >= m and i ** 2 <= n:
        if i ** 2 < min: min = i ** 2
        sum += i ** 2

if sum == 0: print('-1')
else: print('%d\n%d' % (sum, min))

Python

더보기
더보기
m = int(input())
n = int(input())

sum = 0; min = 10000
for i in range(1, 101):
    if i ** 2 >= m and i ** 2 <= n:
        if i ** 2 < min: min = i ** 2
        sum += i ** 2

if sum == 0: print('-1')
else: print('%d\n%d' % (sum, min))