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)잖아 근데 팩토리얼의 기능은 함수에 구현이 안되어있잖아. 위에 반복문은 다 써있는데
상위 1% 이해불가능한 질문
재귀함수가 자길 호출하는건데 저게 되는건 재귀함수가 존재하니까 당연한거 아닐까..?