[백준][C++] 10872 팩토리얼 (재귀)

2022. 1. 31. 15:09·Algorithm/백준
반응형

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

 

10872번: 팩토리얼

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

www.acmicpc.net

문제

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

입력

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

출력

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

 

 

/*
https://www.acmicpc.net/problem/10872
*/
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int factorial(int n) {
	if (n == 0) {
		return 1;
	}else {
		return n * factorial(n - 1);
	}
}

int main() {
	int N;
	scanf("%d", &N);

	printf("%d\n", factorial(N));
}

 

재귀함수인 factorial() 을 반복하여 원하는 return 값을 구할 수 있었습니다.

ex) factorial(3) 일 때

factorial(3) = 3 * factorial(2) * factorial(1)

              =  3 * 2 * factorial(1)

              = 3 * 2 * 1 

 

주의해야할 점

1. n == 0 일 때 return 1로 탈출해야합니다. (무한루프 방지)

 

위의 무한루프 방지를 하지 않는다면 

-> factorial(3) = 3 * factorial(2) * factorial(1) * factorial(0) * factorial(-1) * factorial(-2) * ~~~~~~

factorial(음수)  가 개념적으로 존재하지 않을 뿐 더러, 우변의 곱이 무한반복 되게 됩니다.

 

반응형
저작자표시 비영리 (새창열림)

'Algorithm > 백준' 카테고리의 다른 글

[백준][C/C++] 9020번: 골드바흐의 추측  (0) 2022.02.18
[백준][C++] 10870 피보나치 수 5  (0) 2022.01.31
[백준][c++] 11720번 하노이 탑 이동 순서  (0) 2022.01.10
[백준][C] 2512번 예산  (0) 2021.12.29
[백준][C] 2805번 나무자르기 (by 이진탐색)  (0) 2021.12.27
'Algorithm/백준' 카테고리의 다른 글
  • [백준][C/C++] 9020번: 골드바흐의 추측
  • [백준][C++] 10870 피보나치 수 5
  • [백준][c++] 11720번 하노이 탑 이동 순서
  • [백준][C] 2512번 예산
Giken
Giken
𝐒𝐲𝐬𝐭𝐞𝐦.𝐨𝐮𝐭.𝐩𝐫𝐢𝐧𝐭𝐥𝐧("𝐇𝐞𝐥𝐥𝐨 𝐖𝐨𝐫𝐥𝐝!");
  • Giken
    개발자 기켄
    Giken
  • 전체
    오늘
    어제
    • 분류 전체보기 (148)
      • Programming Language (26)
        • C (3)
        • C++ (2)
        • Java (19)
      • Web (4)
      • Database (1)
        • SQL (5)
      • Spring (10)
      • PHP (7)
      • Linux (1)
      • Server (1)
      • Infra (3)
      • Algorithm (74)
        • 백준 (71)
        • 프로그래머스 (0)
      • 프로젝트 (2)
      • Etc (8)
      • 낙서 (5)
  • 블로그 메뉴

    • GitHub
  • 링크

    • GitHub
  • 공지사항

  • 인기 글

  • 태그

    2753
    SQL고득점키트
    2588
    C
    SQL
    1330
    윤년
    평년
    백준
    9498
    프로그래머스
    DB
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
Giken
[백준][C++] 10872 팩토리얼 (재귀)
상단으로

티스토리툴바