BOJ_10872 : 팩토리얼

less than 1 minute read

문제

0보다 크거나 같은 정수 N이 주어진다. 이때, N!을 출력하는 프로그램을 작성하시오.

입력

첫째 줄에 정수 N(0 ≤ N ≤ 12)가 주어진다.

출력

첫째 줄에 N!을 출력한다.

풀이

필자가 재귀를 구현하는 순서는 이렇다
  1. 반복할 연산을 구현한다.
  2. 재귀가 끝나는 지점을 정한다.

C++ 코드

#include <iostream>

using namespace std;

int facto(int n) {
	if (n == 0)
		return 1;
	//0 인경우 1을 리턴하고 재귀를 마친다.

	return n * facto(n - 1);
	//반복되는 연산
}
int main() {
	int n;
	cin >> n;
	cout << facto(n) << endl;

	return 0;
}

Updated:

Leave a comment