https://www.acmicpc.net/problem/10872

 

팩토리얼을 구현하면 되는 문제이다. 나는 재귀함수를 사용하여 구현해주었다. 1보다 작다면 1을 반환해주고 아니라면

n* fac(n-1)을 통해 n~ 1까지의 팩토리얼 값을 계산하도록 했다.

이때 팩토리얼 결과값이 클 수 있어서 long값을 반환하도록 해주었다. 

 

 

정답코드

#include <iostream>

using namespace std;

long fac(int n)
{
	if (n <= 1)return 1;
	else return n * fac(n-1);
}

int main()
{
	int n;
	cin >> n;


	cout << fac(n) << endl;
}

+ Recent posts