2014-02-22 3 views
-2

입력 인수보다 큰 계승을 찾을 수있는 함수를 작성하십시오. 여기 함수가 있지만 왜 'i'가 1 대신 0으로 초기화되는지 궁금합니다. 당신이 번식하기 전에 내가 1을 추가하기 때문에 0에서 시작하지만숫자보다 큰 계승

function facgt = factgthigh(high) 
% factgthigh returns the first factorial > input 
% Format: factgthigh(inputInteger) 
i=0; 
fac=1; 
while fac <= high 
i=i+1; 
fac = fac * i; 
end 
facgt = fac; 
end 
+2

명확히하기 위해이 코드를 작성하지 않았으며 추적하는 데 도움이 필요합니까? – panoptical

+0

스택 오버플로에 오신 것을 환영합니다. 이 사이트와 질문하는 방법에 대해 이해해야 할 몇 가지 사항이 있습니다. 이것은 일반적으로 검토 할 과제 및 코드를 게시해야하는 포럼이 아닙니다. 제발 [특정 프로그래밍 질문] (http://stackoverflow.com/help/how-to-ask). [질문하는 방법] (http://stackoverflow.com/questions/how-to-ask)을 읽으십시오. 중요한 것은 [숙제를하는 방법에 대한이 게시물] (http://meta.stackexchange.com/a/10812)을 참조하십시오. – chappjc

답변

0

, 내가, 그리고 내가 1에서 시작할 수 대신

fac = fac * i; 
i=i+1; 

을했다면 0

에서 시작한다 여전히 기능에 해가되지는 않습니다 (효율성은 떨어짐).

+0

과 0의 fac은 무엇입니까? 1 시죠? – joke

+0

수정. 0! == 1 – panoptical

0

while 루프 내부의 첫 번째 줄로 증가하기 때문에 (+1).

관련 문제