Python/online judge

백준 [1789.수들의 합] | Python

구름솜:D 2024. 1. 29. 23:48
728x90

✏️ 문제

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

 

1789번: 수들의 합

첫째 줄에 자연수 S(1 ≤ S ≤ 4,294,967,295)가 주어진다.

www.acmicpc.net

 

✏️ 풀이방법

1. n은 자연수이므로 1부터 시작해서 while문으로 무한루프를 돌리면서 total의 자연수 누적합을 담는다.

2. 누적된 합이 s와 크거나 같을 때 while문을 종료한다.

3. 누적된 합 total이 입력한 s와 같으면 해당 n을 출력하고 그렇지 않으면 자연수n에서 하나 뺀 수를 출력한다.

 

 

📌 코드

s = int(input())
n = 1
total = 0
while True:
    total += n
    if total >= s:
        break
    n += 1
if total == s:
    print(n)
else:
    print(n-1)

 

 

📌 결과

200  #입력
19   #출력