编写一个函数,它将找到比输入参数高的阶乘。 这是函数,但我想知道为什么'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
答案 0 :(得分:0)
因为你在乘法前加1,所以我必须从0开始。
如果您改为
fac = fac * i;
i=i+1;
然后我可以从1开始,虽然从0开始仍然不会对函数有害(虽然效率较低)。
答案 1 :(得分:0)
因为它作为while循环内的第一行递增(+1)。