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은 서로 다른 자연수의 개수를 뜻하는데 이 때 최대값을 구하기 위해선 가장 작은 수 부터 차례대로 구해야한다.
'코딩 공부 > 파이썬' 카테고리의 다른 글
반복문 실행 속도 비교(range, 문자열 복사, while) (0) | 2022.12.12 |
---|---|
백준) 2018 - 수들의 합 5 [파이썬3] (0) | 2022.12.11 |
백준) 5554 - 심부름 가는 길 [파이썬3] (0) | 2022.12.08 |
백준) 1032 - 명령 프롬프트 [파이썬3] (0) | 2022.11.29 |
백준) 2563 - 색종이 [파이썬3] (0) | 2022.11.27 |