2014-02-22 42 views
-2

編寫一個函數,該函數將查找大於輸入參數高的階乘。 這是函數,但我想知道爲什麼'我'被初始化爲0而不是1,幫助?一個大於高的數字的階乘

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,我你乘之前,我已經在0

如果你不是做

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

開始我就能從1開始,從0開始,雖然仍然不會對功能造成傷害(雖然效率較低)。

+0

和0的fac是什麼?是1嗎? – joke

+0

正確。 0! == 1 – panoptical

0

因爲它作爲while循環中的第一行遞增(+1)。