数字的阶乘大于高

时间:2014-02-22 18:21:35

标签: matlab

编写一个函数,它将找到比输入参数高的阶乘。 这是函数,但我想知道为什么'i'被初始化为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 个答案:

答案 0 :(得分:0)

因为你在乘法前加1,所以我必须从0开始。

如果您改为

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

然后我可以从1开始,虽然从0开始仍然不会对函数有害(虽然效率较低)。

答案 1 :(得分:0)

因为它作为while循环内的第一行递增(+1)。