백준

백준 1789 수들의 합, c++

2024. 2. 29. 22:18

 

 

 

작성한 코드는 다음과 같다.

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