알고리즘/그리디 알고리즘

[백준] 1789 - 수들의 합

TIM_0529 2023. 1. 25. 14:35
반응형
#include <stdio.h>

int main()
{
	long long s,c=0,n=1;
	scanf("%lld", &s);
	
	while (c<s)
	{
		c = (n * (n + 1)) / 2; // 가우스 공식
		if (c > s)
			break;
		n++;
	}
	printf("%lld", n-1);
}

가우스 공식을 사용해서 만약 n 까지의 수의 합이 s 를 넘게 되면 그 전 수를 출력한다.

s 가 200 이라고 했을 때 n 이 20이 되면 

1 부터 20 까지의 값이 210 이 되기 때문에 19 를 출력한다.

 

반응형

'알고리즘 > 그리디 알고리즘' 카테고리의 다른 글

[백준] 1439 - 뒤집기  (0) 2023.02.01
[벡준] 13365 - 주유소  (0) 2023.01.30
[백준] 10162 - 전자레인지  (0) 2023.01.25
[백준] 2217 - 로프  (0) 2023.01.24
[백준] 1931 - 회의실 배정  (0) 2023.01.19