공부/백준

10872번: 팩토리얼(백준 C++)

상연 2020. 10. 18. 18:33

목차

    10872번: 팩토리얼 링크

    코드

    #include <iostream>
    using namespace std;
    
    int facto(int n){
        if(n <= 1) return 1;
        else return n * facto(n - 1);
    }
    
    int main() {
        int n;
        cin >> n;
        cout << facto(n);
        return 0;
    }

    사견

    팩토리얼문제이다.
    재귀로도 풀 수있고 반복문으로도 풀 수 있지만, 문제의 카테고리가 재귀로 분류되어도 있었고
    주어질 수의 범위가 그리 크지 않기 때문에 재귀로 풀었다.
    1학년때 수업시간에 팩토리얼이었는지 조합이었는지 기억이 잘 안나는데 그때 반복문과 재귀로 작성해서 시간을 비교했던 기억이난다.

    재귀가 나쁜 코드는 아니라고 들었던 기억도.