关于阶乘n!的具体算法
求n!n!=n*(n-1)*(n-2)*(n-3)*...2*1以前读书的时候学过阶乘,但那时候没用心,现在基本全部还回老师了...我知道,比如5!是1*2*3*4*5那...
求n!n!=n*(n-1)*(n-2)*(n-3)*...2*1以前读书的时候学过阶乘,但那时候没用心,现在基本全部还回老师了...我知道,比如5!是1*2*3*4*5 那为什么n!会是n*(n-1)*(n-2)*(n-3)*...2*1呢?不是应该一直是1*2*3*4*5一直乘到n的吗? 麻烦各位讲解下,越详细越好...暂时要数学方面的解释,如果有C方面的也可以....
展开
5个回答
2012-03-08
展开全部
n!
=1*2*3*4*5*...*(n-3)*(n-2)*(n-1)*n
=n*(n-1)*(n-2)*(n-3)*...*5*4*3*2*1
#include <stdio.h>
void main()
{
long int i,n,k;
scanf("%ld",&n);
k=1;
for(i=1;i<=n;i++)
k=k*i;
printf("%ld!=%ld\n",n,k);
k=1;
for(i=n;i>=1;i--)
k=k*i;
printf("%ld!=%ld\n",n,k);
}
=1*2*3*4*5*...*(n-3)*(n-2)*(n-1)*n
=n*(n-1)*(n-2)*(n-3)*...*5*4*3*2*1
#include <stdio.h>
void main()
{
long int i,n,k;
scanf("%ld",&n);
k=1;
for(i=1;i<=n;i++)
k=k*i;
printf("%ld!=%ld\n",n,k);
k=1;
for(i=n;i>=1;i--)
k=k*i;
printf("%ld!=%ld\n",n,k);
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2012-03-08
展开全部
不是一样吗,1*2*……(n-1)*n
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
那只能说明你不知道
难道说n*(n-1)*(n-2)*(n-3)*...2*1不等于1*2*3*4*5一直乘到n?
难道说n*(n-1)*(n-2)*(n-3)*...2*1不等于1*2*3*4*5一直乘到n?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询