2013-02-10 2 views
0

$number <2factirial() 함수를 다시 호출하지 않는다고 말할 수 있습니까? 또는 factorial() 함수를 호출하지만 항상 factorial을 factorial (1)로 설정합니다. 그렇다면 재귀 적으로 더 많은 메모리를 사용한다고 생각합니다. 나 맞아?반환 값은 재귀 적으로 어떻게 작동합니까?

<?php function factorial($number){ 

       if ($number < 2) { 
       return 1; 
       } else { 
       return ($number * factorial($number-1)); 
       } 
      } 

echo factorial(5); 
?> 

이 나는 ​​기능

3*factorial(2) 
2*factorial(1) 
1*factorial(1) 
1*factorial(1) 
+1

하면'$의 number' <2, 함수가 반환하고 다시 호출되지 않습니다. 재귀 상태는'$ number'> 2 일 때만 입력 될 것입니다. – BenM

+0

왜 모든 숫자가'$ number <2'가 될 것이기 때문에 항상 1을 리턴하지 않습니다 – newday

+0

@BenM'$ number> = 2'(사소한 오타) – Supericy

답변

1

에 추측 무엇 우리가 말할 수있는 $ 수 <이 다시() 함수를 factirial 호출하지 않는 경우?