팩토리얼이란 그 수보다 작거나 같은 모든 양의 정수의 곱이다.
#include<stdio.h>
void Factorial(int a, int* pRet);
int main(void)
{
int a = 0;
int result = 0;
printf("정수를 입력하시오 : ");
scanf_s("%d", &a);
Factorial(a, &result);
printf("%d", result);
return 0;
}
void Factorial(int a, int* pRet)
{
*pRet = a;
for (int i = 1; i < a; i++)
{
*pRet *= i;
}
}
반복문을 사용해 입력받은 값까지만 수를 곱해준다. 까지는 생각했는데 어떻게 구현을 할까를 고민하다가 작성해 본 첫번째 답안이다.
지금 다시 보니 약간 이상한 것 같다. 쉬운 길을 두고 일부러 돌아간 느낌...
팩토리얼의 개념을 헷갈렸나보다🥲 근데 잘 돌아가서 내 생각이 틀린 줄도 몰랐다.
#include<stdio.h>
void Factorial(int a, int* pRet);
int main(void)
{
int a = 0;
int result = 1;
printf("정수를 입력하시오 : ");
scanf_s("%d", &a);
Factorial(a, &result);
printf("%d", result);
return 0;
}
void Factorial(int a, int* pRet)
{
for (int i = 1; i <= a; i++)
{
*pRet *= i;
}
}
이렇게 작성하는 게 더 간단할 것 같다. ㅎㅎ;