백준/python
1789: 수들의 합(python)
CBH_0417
2023. 9. 13. 14:28
https://www.acmicpc.net/problem/1789
1789번: 수들의 합
첫째 줄에 자연수 S(1 ≤ S ≤ 4,294,967,295)가 주어진다.
www.acmicpc.net
문제
서로 다른 N개의 자연수의 합이 S라고 한다. S를 알 때, 자연수 N의 최댓값은 얼마일까?
풀이
간단하다. 기초값을 0으로 설정해놓고 입력받은 수의 쪼갬 횟수를 카운트한 뒤, 그 횟수만큼 수를 증가시킨 다음 1을 빼주면 된다.
코드
s = int(input()) #일단 쪼갤 수를 입력한다
total = 0 #초기값들 설정
count = 0
while True:
count += 1 #0에서부터 1씩 증가시키고
total += count #그 값을 최대값으로 설하며 1씩 크기를 키운다
if total > s: #토탈값이 입력값 커질경우 거기서 1만 덜 반복할 경우 그게 곧 최대값의 크기가 된다
break 최대값이 될 경우 루프 종료
print(count-1)# 0부터 시작하므로 저장된 카운트에서 1을 빼면 정확한 값이 나온다.