반응형
#include <iostream>
using namespace std;
int main()
{
ios::sync_with_stdio(0);
cin.tie(0);
long long S; //입력받을 자연수의합 선언
long sum = 0; //자연수의합과 비교할 변수
int count = 0; //더해지는 자연수를 count할 변수
long num = 1; //더해질 변수
cin >> S; //S를 입력
while (1) //무한루프
{
sum += num; //num의값을 sum에 더한다
count++; //값을 더했으니 count에 1더한다
if (sum > S) //sum의 값이 자연수의 합보다 커진다면
{
count--; //count에서 1을빼고 반환한다. 문제에 나온 예시인 합 200을보면 1씩더해서 200이 딱나오지 않는다.이 경우에 마지막수를 남은 값에 맞게 변경한다고 생각하면 된다.
break; //반복문탈출
}
num++; //num에 1을 더한다.
}
cout << count; //결과출력
return 0;
}
반응형
'Programming > Baekjoon' 카테고리의 다른 글
백준 10951 A+B [c++] (0) | 2022.01.10 |
---|---|
백준 1312 소수 [c] (0) | 2022.01.08 |
백준 1978 소수찾기 [c++] (0) | 2021.08.31 |
백준 2693 N번째 큰수 [c++] (0) | 2021.08.29 |
백준 2609 최대공약수 최소공배수 [c++] (0) | 2021.08.29 |