设变量已正确定义,则以下能正确计算f=n!的程序是( )。
A.f=0:for(i=1;i<=n;i++)f*=i:B.F=1:for(i=l;i<2n;i++)f*=i:C.f=l:for(i=n;i>1;i++)f*=i:D....
A.f=0:for(i=1;i<=n;i++)f*=i:
B.F=1:for(i=l;i<2n;i++)f*=i:
C.f=l:for(i=n;i>1;i++)f*=i:
D.f=1;for(i=n;i>=2;i--)f*=i: 展开
B.F=1:for(i=l;i<2n;i++)f*=i:
C.f=l:for(i=n;i>1;i++)f*=i:
D.f=1;for(i=n;i>=2;i--)f*=i: 展开
1个回答
展开全部
【答案】:D
由i"1 1的数字定义可知n!=n*(n-1) *(n-2)*…*1。在选项A中,由于f的初值为0,在for 循环语句中,f依次乘以1,2,3,…,n,最后计算得到f=n! 一0,所以选项A不正确。在选项B中,f的初值为1,在for 循环语句中,f依次乘以1,2,3,…,(n-1),最后计算得到f =(n-1)!,所以选项B不正确。在选项C中,f的初值为1,在for循环语句中,f依次乘以n,n+1,n+2,……,所以选项c不正确。在选项D中,f的初值为l,在for循环语句中,f依次乘以n,n-1,n-2,…,2,最后计算得到f=n!,所以选项D正确。
由i"1 1的数字定义可知n!=n*(n-1) *(n-2)*…*1。在选项A中,由于f的初值为0,在for 循环语句中,f依次乘以1,2,3,…,n,最后计算得到f=n! 一0,所以选项A不正确。在选项B中,f的初值为1,在for 循环语句中,f依次乘以1,2,3,…,(n-1),最后计算得到f =(n-1)!,所以选项B不正确。在选项C中,f的初值为1,在for循环语句中,f依次乘以n,n+1,n+2,……,所以选项c不正确。在选项D中,f的初值为l,在for循环语句中,f依次乘以n,n-1,n-2,…,2,最后计算得到f=n!,所以选项D正确。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询