[출처 : Goorm 사이트 - 슬픈 냉면]
문제
팩토리얼은 1부터 n까지의 수를 모두 곱하는 것입니다. n이 양수일 때 n의 팩토리얼은
로 나타냅니다.
팩토리얼의 결과를 구하는 프로그램을 작성하십시오.
입력
15 이하 양의 정수
출력
팩토리얼의 결과 값
풀이
- 재귀식 개념 이해할 때 자주 작성했던 문제였다.
- 재귀식과 반복문 형식으로 풀 수 있다.
재귀식과 반복문 형식으로 작성할 수 있다.
이와 비슷한 문제로 저번에 풀어본 피보나치 수열 문제가 있다.
재귀식
//재귀식 함수로 작성
#include <stdio.h>
unsigned long long fac(int);
int main() {
unsigned long long n;
scanf("%lld", &n);
printf("%lld", fac(n));
}
unsigned long long fac(int n){
if(n==1) return 1;
return n*fac(n-1);
}
반복식
//반복문 형식으로 작성
#include <stdio.h>
int main() {
unsigned long long n, result=1;
scanf("%lld", &n);
for(int i=1; i<=n; i++){
result *= i;
}
printf("%lld", result);
}
결과
* 개인적인 학습 목적으로 작성한 글이기에 내용에 잘못된 정보가 있을 수 있습니다.
'게임 클라이언트 개발 > 알고리즘 문제' 카테고리의 다른 글
[알고리즘 2단계] 알파벳 빈도 구하기 (1) | 2020.07.23 |
---|---|
[알고리즘 2단계] 완전수 (1) | 2020.07.22 |
[알고리즘 2단계] 계산기 (0) | 2020.07.21 |
[알고리즘 1단계] 369게임 (0) | 2020.07.20 |
[알고리즘 1단계] 단어의 개수 세기 (0) | 2020.07.20 |