Algorithm/Python
[백준알고리즘] 1798번 수들의 합 (Python)
yujin.me
2021. 7. 10. 17:24
문제
서로 다른 N개의 자연수의 합이 S라고 한다. S를 알 때, 자연수 N의 최댓값은 얼마일까?
입력
첫째 줄에 자연수 S(1 ≤ S ≤ 4,294,967,295)가 주어진다.
출력
첫째 줄에 자연수 N의 최댓값을 출력한다.
코드
S = int(input()) # 최대값
N = 1 # 자연수 n
sum = 0 # 합계
while True :
sum += N
if sum > S :
print(N-1) # 합계가 더 클 경우 N에서 1을 뺀 값 출력
break
elif sum == S : # 합계와 S의 값이 같으면 N 그대로 출력
print(N)
break
N += 1 # 조건에 만족하지 않을 때 1씩 더하기
출처
반응형