关于阶乘n!的具体算法

问题描述:

关于阶乘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方面的也可以.

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 void main(){long int i,n,k;scanf("%ld",&n);k=1;for(i=1;i=1;i--)k=k*i;printf("%ld!=%ld\n",n,k);}