문제
소스코드
1
2
3
4
5
6
7
8
9
10
11
12
|
#include<iostream>
int Recursive(int N) {
if (N == 1 || N == 0)
return 1;
return N * Recursive(N - 1);
}
int main() {
int N;
std::cin >> N;
std::cout << Recursive(N) << "\n";
}
|
후기
이 문제를 해결하기 위한 키워드는 재귀 함수이다.
함수가 Return을 할 때 주는 반환 값을 곱 하고 그 곱한 것을 이전 함수에 다시 곱하는 원리로 풀었다. 대부분 이 방법으로 풀었을 것이며 이 방법이 가장 보편적이다.
사실 우선순위 큐 문제를 하나 풀려고 했지만 머리가 아파서 비교적 쉬운 문제를 복습 겸 풀었다.
머리가 아프면 문제 풀 의욕도 사라지는 거 같다..
출처 및 레퍼런스
문제 링크:https://www.acmicpc.net/problem/10872
관련 글
[온라인 코딩/재귀 호출(Recursive Call)] - [백준] 1074번 Z
'온라인 코딩 > 재귀 호출(Recursive Call)' 카테고리의 다른 글
[백준] 17269번 이름궁합 테스트 (0) | 2020.02.24 |
---|---|
[프로그래머스] 타겟 넘버 (0) | 2020.02.10 |
[백준] 1074번 Z (1) | 2020.01.11 |