沉默的狼2
幼苗
共回答了12个问题采纳率:91.7% 举报
long test(int n)
{
if(t0)
{
t *= n;
n--;
}
return t ;
}
n!=n*(n-1)*(n-2)* ... *1;
起初,t赋值为1;
第一次循环,1*n 存到 t(即t等于1*n),n--之后n的值为原先的n-1;
第二次循环再将n(原先的n-1)乘入t中,即 t的值为 n*(n-1),
依次向下去做,直到n为0结束.
t=1
↓
→→→→ n >0 →→ 否→ →→ →→ 返回t (即n!)
↑ ↓是
↑ t *= n;当前的n乘入
↑ n--; n减小1
↑ ↓
← ← ← →
1年前
1