본문 바로가기
[PS] 문제풀이/백준

[ 백준 9095 ] 1, 2, 3 더하기 (C++)

by 안산학생 2021. 10. 22.

[문제보기]

 

[해결과정]

 재귀 사용

 

[소스코드]

#include<iostream>
#include<algorithm>
using namespace std;

int t;
int n;
int arr[3] = {1,2,3};
int result;

void func(int val, int sum){
    // 기저조건
    if(val == sum){
        result++;
        return;
    }else if(val < sum) return;
    
    for(int i=0; i<3; i++){
        sum += arr[i];
        func(val, sum);
        sum -= arr[i];
    }
}

int main(){
    ios_base::sync_with_stdio(0);
    cin.tie(0); cout.tie(0);
    
    cin >> t;
    while(t--){
        cin >> n;
        
        // 완전탐색
        result = 0;
        func(n,0);
        cout << result << "\n";
    }
    
    
    return 0;
}

 

[해결 과정 중 실수한 부분 / 잡담]

 

 

[관련 문제 혹은 비슷한 문제]

 없음



댓글