목차
코드
#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학년때 수업시간에 팩토리얼이었는지 조합이었는지 기억이 잘 안나는데 그때 반복문과 재귀로 작성해서 시간을 비교했던 기억이난다.
재귀가 나쁜 코드는 아니라고 들었던 기억도.
'공부 > 백준' 카테고리의 다른 글
2447번: 별 찍기 - 10(백준 C++) (0) | 2020.10.20 |
---|---|
10870번: 피보나치 수 5(백준 C++) (0) | 2020.10.19 |
3053번: 택시 기하학(백준 C++) (0) | 2020.10.17 |
4153번: 직각삼각형(백준 C++) (0) | 2020.10.17 |
3009번: 네 번째 점(백준 C++) (0) | 2020.10.16 |