728x90

문제)

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

 

입력)

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

 

출력)

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


S = int(input())

N = 1
S_sum = 0
while S_sum <= S:
    S_sum += N
    N += 1
print(N-2)

풀이 : 문제에서 요구하는 답은 N의 최대값이다. 이 때 N은 서로 다른 자연수의 개수를 뜻하는데 이 때 최대값을 구하기 위해선 가장 작은 수 부터 차례대로 구해야한다.

 

+ Recent posts