factorial 구하기 system-dependent
진주
2023.04.01
함수 반복문 이용해서 n! 구하기이론상으로 전혀 틀리지 않은것 같은데 꼭 마지막수가 안 곱해지네요.
예를 들면 0 1은 제대로 나오는데 2이상부터 구하고자 하는 그 수의 밑에 factorial이 구해지네요.
문제는 왜 system-dependent라는 개념에 입각해서 설명해야 하는건데 쉽지 않네요. 문제 없어 보이는데질문 내용 :
#include stdio.h
#include stdlib.h
int factorial(int n);
int main(void)
{
int n, factorial_value ;
printf(input a number: \n);
scanf(%d, &n);
factorial_value = factorial( n);
printf( %d! is %d\n, n, factorial_value);
system(pause);
return 0;
}
int factorial(int n)
{
if( n == 0 || n == 1)
return 1;
else
return (n * factorial(--n)) ; /*= 이부분이요. 5입력하면 5* factorial(4)
} // 다시 factorial(4) 는 4* factorial(3)
*/