Baekjoon/단계별로 풀어보기

[BOJ / 백준] 10872번 팩토리얼 C++ 문제 풀이

728x90

단계별로 풀어보기 - 재귀 단계 - [1단계] 10872번

문제

문제 링크 : www.acmicpc.net/problem/10872

 

10872번: 팩토리얼

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

www.acmicpc.net

입력 복사 : 

10

 

 

CODE

#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) << '\n';
}

 

 

풀이

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

조건문을 n==1로 할 경우, 입력이 0부터기 때문에 무한루프에 빠져 시간초과가 뜬다.

따라서 조건을 n<=1로 설정하였다.

 

 

결과

728x90