작성한 코드는 다음과 같다.
1. 1부터 S 정도가 될때까지 순서대로 더해주다가
2. 만약 계산한 sum이 S를 넘었다면 N의 값을 한 번만 빼주고, sum이 S라면 그냥 N개 그대로 출력하면 된다.
#include <iostream>
using namespace std;
int main(){
unsigned int S;
cin >> S;
unsigned int N = 0; //더한 수의 개수
long long sum = 0; //지금까지 계산한 값, S와 같아져야함
for(unsigned int i=1; i<=S; i++){
if(sum<S){
sum += i;
N++;
}
else {
break;
}
}
if(sum != S)
N--;
cout << N;
return 0;
}
'백준' 카테고리의 다른 글
백준 2293 동전 1, c++ (0) | 2024.03.01 |
---|---|
백준 3085 사탕 게임, c++ (0) | 2024.02.29 |
백준 2504 괄호의 값, c++ (0) | 2024.02.28 |
백준 2910 빈도 정렬, c++ (0) | 2024.02.27 |
백준 2693 N번째 큰 수, c++ (0) | 2024.02.27 |