문제 설명
1개의 정수 n을 입력 받아 1+2+3… +x 의 합계가 n이상이 되면 마지막 더한 수 x를 구하여 인쇄한다.
( 1+2+3… +x >= n 의 조건이며 n은 양의 정수임 )
#include <stdio.h>
int Solve(int n)
{
//여기서 부터 작성
}
int main(void)
{
int n;
scanf("%d", &n);
printf("%d\n", Solve(n));
return 0;
}
입력 설명
첫째 줄에 양의 정수 n(1<=n<=10억)이 입력된다
출력 설명
1+2+3… +x >= n을 만족하는 제일 작은 x를 출력한다
입력 예시
2500
출력 예시
71
정답 코드
#include <stdio.h>
/*
int Solve(int n)
{
int sum = 0, i;
for (i = 1; sum < n; i++)
{
sum += i;
}
return i - 1;
}
*/
int Solve(int n)
{
int sum = 0;
int v = 1;
for(;;)
{
sum += v;
if(sum >= n) return v;
v++;
}
}
int main(void)
{
int n;
scanf("%d", &n);
printf("%d\n", Solve(n));
return 0;
}
메모
printf 내부의 \n 습관화 필요