2014-02-22 37 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)。