일지

JUNGOL...90

niamdank 2021. 7. 11. 12:27

Beginner_Coder/재귀/팩토리얼


문제                                            

1부터 어떤 양의 정수 n까지의 정수를 모두 곱한 것을 말하며 n!로 나타낸다.

0! = 1

1! = 1

2! = 2

n! = n * (n-1)!

와 같이 정의된다.

 

예로 4! = 4×3×2×1 = 24 이다.

 

n! 이 주어졌을 때 결과를 출력하는 프로그램을 작성하라.

 

* 결과가 int범위를 넘는 경우 

자료형 long long 

입력/출력 서식문자 %lld 

를 사용한다.

 

입력 형식                                     

입력은 한 줄로 이뤄지며 팩토리얼의 숫자 n(1≤n≤15)이 입력된다.

 

출력 형식                                     

n!에 대한 계산 결과를 "출력예"처럼 과정을 출력하고 마지막에 결과를 출력한다.

 

입력 예                                        

4

 

출력 예                                        

4! = 4 * 3!
3! = 3 * 2!
2! = 2 * 1!
1! = 1
24


Factorial.h

#include <iostream>

class Factorial : public Base
{
private:
	long long GetFactorial(int n);
}

 

Factorial.cpp

void Factorial::Code()
{
	int n;

	std::cin >> n;

	std::cout << GetFactorial(n);
}

long long Factorial::GetFactorial(int n)
{
	if (n == 1)
	{
		std::cout << "1! = 1\n";
		return 1;
	}

	std::cout << n << "! = " << n << " * " << n - 1 << "!\n";

	return n * GetFactorial(n - 1);
}

 


실행 결과 Success(100)


 

NadanKim/CodingTest_JUNGOL: JUNGOL 코딩 테스트를 위한 저장소 (github.com)

 

NadanKim/CodingTest_JUNGOL

JUNGOL 코딩 테스트를 위한 저장소. Contribute to NadanKim/CodingTest_JUNGOL development by creating an account on GitHub.

github.com