반응형
https://www.acmicpc.net/problem/1789
문제
서로 다른 N개의 자연수의 합이 S라고 한다. S를 알 때, 자연수 N의 최댓값은 얼마일까?
입력
첫째 줄에 자연수 S(1 ≤ S ≤ 4,294,967,295)가 주어진다.
출력
첫째 줄에 자연수 N의 최댓값을 출력한다.
S = int(input())
num = 1
ans = 0
while ans <= S:
ans += num
if ans >= S-num:
break
# print('num : {}, ans : {}'.format(num,ans))
num += 1
print(num)
풀이
1. 모두 다른 수 이므로 더해지는 서로 다른 N을 1부터 +1
2. 마지막에 수를 더할 경우 S를 초과하게 되므로 마지막 수는 빼기
반응형
'study > 백준' 카테고리의 다른 글
[백준] 2525. 오븐 시계 : python (0) | 2021.12.19 |
---|---|
[백준] 9506. 약수들의 합 : python (0) | 2021.12.13 |
[백준] 1260. DFS와 BFS : python (0) | 2021.10.12 |
[백준] 2231. 분해합 : python (0) | 2021.10.04 |
[백준] 10870. 피보나치 수 5 : python (0) | 2021.10.02 |