728x90
안녕하세요!
이번에는 C++ 언어를 사용하여 팩토리얼을 계산하는 콘솔 프로그램을 프로그래밍 해 보겠습니다.
예제 코드를 살펴보겠습니다.
#include <iostream>
using namespace std;
int factorial(int n)
{
if (n == 0 || n == 1)
{
return 1;
}
else
{
return n * factorial(n - 1);
}
}
int main()
{
int number;
cout << "양의 정수를 입력하세요: ";
cin >> number;
int result = factorial(number);
cout << number << "의 팩토리얼은 " << result << "입니다." << endl;
return 0;
}
<코드 해석>
int factorial(int n)
{
//내용 생략
}
- 재귀적으로 팩토리얼을 계산하여 반환하는 함수입니다. n은 계산할 양의 정수입니다.
if (n == 0 || n == 1)
{
return 1;
}
else
{
return n * factorial(n - 1);
}
- n이 0이거나 1일 때, 1을 반환합니다. 이는 팩토리얼의 종료 조건입니다.
- else 블록에서는 n과 factorial(n - 1)을 곱하여 팩토리얼을 계산합니다.
- 이는 재귀적으로 팩토리얼을 계산하는 과정입니다.
int main()
{
//내용 생략
}
- 프로그램의 시작점입니다.
int number;
- 사용자로부터 입력받을 양의 정수를 저장할 변수를 선언합니다.
cout << "양의 정수를 입력하세요: ";
cin >> number;
- "양의 정수를 입력하세요: "라는 메시지를 출력하고, 사용자로부터 양의 정수를 입력받아 number 변수에 저장합니다.
int result = factorial(number);
- factorial 함수를 호출하여 양의 정수의 팩토리얼을 계산합니다.
cout << number << "의 팩토리얼은 " << result << "입니다." << endl;
- 입력받은 양의 정수의 팩토리얼을 출력합니다.
이번 예제를 통해 양의 정수의 팩토리얼을 계산하는 방법을 알아보았습니다.
재귀함수를 이해하기 힘드신분은 다음 링크를 참고해 주세요!
[C++] 프로그래밍 기초 : 재귀함수
다음 글에서는 더 다양한 예제를 다루어보도록 하겠습니다.
감사합니다!
728x90
'[C++] > 콘솔 프로그래밍' 카테고리의 다른 글
[C++] 콘솔 프로그래밍 : 숫자 맞추기 게임 (18) | 2023.06.07 |
---|---|
[C++] 콘솔 프로그래밍 : 최대 공약수 구하기 (18) | 2023.06.07 |
[C++] 콘솔 프로그래밍 : 문자열 뒤집기 (4) | 2023.06.07 |
[C++] 콘솔 프로그래밍: 소수 판별하기 (8) | 2023.06.07 |
[C++] 콘솔 프로그래밍 : 두 수 사이의 합 (18) | 2023.06.06 |