파이썬 문제/백준 문제

백준 파이썬문제 1789번 - 수들의 합

열곰탱 2021. 7. 20. 22:19

문제

서로 다른 N개의 자연수의 합이 S라고 한다. S를 알 때, 자연수 N의 최댓값은 얼마일까?

입력

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

출력

첫째 줄에 자연수 N의 최댓값을 출력한다.

실행결과

 

1부터 n까지의 합은 n *(n + 1) /2 이다.

1부터 순서대로 더해서 s보다 커지게 되면 n에서 1을 뺀다.

 

코드

s = int(input())
n = 1
while n * (n + 1) / 2 <= s:
n += 1
print(n - 1)