coding_test/BAEKJOON
백준 10872번 C언어 풀이
CodeJin
2021. 8. 17. 22:57
https://www.acmicpc.net/problem/10872
10872번: 팩토리얼
0보다 크거나 같은 정수 N이 주어진다. 이때, N!을 출력하는 프로그램을 작성하시오.
www.acmicpc.net
팩토리얼을 구현하는 문제
단계별 풀이의 재귀파트에 들어가기 때문에 재귀함수와 반복문으로 풀어보자.
반복문
#include <stdio.h>
// loop solution
int main () {
int a;
long long result = 1;
scanf("%d", &a);
for (int i = 2; i <= a; i++) {
result *= i;
}
}
재귀함수
#include <stdio.h>
// Recursive solution
long long fac (int n) {
if (n <= 1) {
return 1;
} else {
return n * fac(n-1);
}
}
int main () {
int a;
scanf("%d", &a);
printf("%d", fac(a));
return 0;
}