문제
서로 다른 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씩 더하기
출처
반응형
'Algorithm > Python' 카테고리의 다른 글
[백준알고리즘] 10039번 평균점수 (Python) (0) | 2021.07.12 |
---|---|
[백준알고리즘] 2753번 윤년 (Python) (0) | 2021.07.11 |
[백준알고리즘] 11653번 소인수분해 (Python) (1) | 2021.07.09 |
[백준알고리즘] 10817번 세 수 (Python) (0) | 2021.07.08 |
[백준알고리즘] 9498번 시험 성적 (Python) (0) | 2021.07.07 |