ALG/ALG Solve

[C++] 백준 1789번 - 수들의 합

jh2ee 2023. 7. 14. 20:47

https://www.acmicpc.net/problem/1789

 

1789번: 수들의 합

첫째 줄에 자연수 S(1 ≤ S ≤ 4,294,967,295)가 주어진다.

www.acmicpc.net

 

#include <bits/stdc++.h>
using namespace std;

int main() {
    ios_base::sync_with_stdio(false);
    cin.tie(NULL); cout.tie(NULL);

    long long int s,num=1;
    cin>>s;

    while(s>0&&s!=num){
        if(s<num){
            num--;
            break;
        }
        s-=num;
        num++;
    }

    cout<<num<<"\n";

    return 0;
}

 

수의 범위로 인해 long long int를 사용하여 풀이하였다.

while문의 조건 설정이 헷갈렸었다.