수들의 합_1789

박상민·2024년 6월 20일
0

백준

목록 보기
32/36
post-thumbnail

문제

서로 다른 N개의 자연수의 합이 S라고 한다. S를 알 때, 자연수 N의 최댓값은 얼마일까?

입력

첫째 줄에 자연수 S(1 ≤ S ≤ 4,294,967,295)가 주어진다.

출력

첫째 줄에 자연수 N의 최댓값을 출력한다.

예제 입력

200

예제 출력

19

문제 분석

  • 서로 다른 N개의 자연수의 합이 S
  • 가장 많은 횟수로 더해서 S가 되는 최대 경우의 수를구하는문제
  • 가장 많은 횟수로 더하려면 더하는 숫자의 간격이 가장 작아야 함 => 1
  • 1씩 더하면서 합을 더해가면 되지
  • 더한 값이 예제 입력값과 같아질때까지 반복
  • 1+2+3+..
  • count 변수, sum 변수

정답코드

import sys

N = int(sys.stdin.readline())
sum = 0
i = 0
while( N >= sum):
	sum += i+1
	i+=1
	if(sum > N):
		break
print(i-1)
profile
I want to become a UX Developer

0개의 댓글