public static int factorial(int number) {


/*int sum = 1;

for(int i =2; i<=number; i++) {

sum*=i;

}

return sum;*/


if(number==1) {

return 1;

}

else {

return number * factorial(number-1);

}

}


팩토리얼을 주석처리한부분은 반복함수로 구현한거고

밑이 재귀함수로 구현한건데

내가 궁금한건


if문에서 넘버가 1이면 1을 반환하는건 알겠는데


예외에서 return number * factorial(number-1);

이면 팩토리얼의 기능이 구현이 안되어있잖아.

근데 왜 팩토리얼이 출력이됌? 라이브러리에 있는거임?


내말은 만약에 5팩토리얼을 구하고싶어져서 5를 넣어보면

5 * factorial(4)잖아 근데 팩토리얼의 기능은 함수에 구현이 안되어있잖아. 위에 반복문은 다 써있는데