N

(SWEA c++)7510. 상원이의 연속 합 본문

SW Expert Academy

(SWEA c++)7510. 상원이의 연속 합

naeunchan 2020. 11. 25. 10:25
728x90
반응형

swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWoEzJFa2A4DFARq&categoryId=AWoEzJFa2A4DFARq&categoryType=CODE

 

SW Expert Academy

SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!

swexpertacademy.com

 

while문과 for문을 이용해 연속적인 값의 합이 N과 같으면 ans++.

N의 최댓값이 크지 않기 때문에 쉽게 풀 수 있는 문제다.

대신 break를 해주어 시간을 줄이도록..!

#include <iostream>

using namespace std;

int main(void)
{
    ios::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);
    
    int t;
    cin >> t;
    
    for(int tc = 1; tc <= t; tc++)
    {
        int N, ans = 0, start = 1;
        cin >> N;
        
        while(start <= N)
        {
            int tmp = 0;
            
            for(int i = start; i <= N; i++)
            {
                tmp += i;
                if(tmp == N)
                    ans++;
                else if(tmp > N)
                    break;
            }
            start++;
        }
        
        cout << "#" << tc << " " << ans << endl;
    }
    return 0;
}
728x90
반응형