0的阶乘于1的原因

问题描述:

0的阶乘于1的原因
我看有的人用阶乘递推公式推出0!=1,其实是不恰当的
递推公式n!=n*(n-1)!的前提是n>1,所以把1代进去得出0!=1是不对的.(与概念相违背)
阶乘的定义是n!=1*2*3*.*n或n!=n*.*3*2*1,是从1开始或到1结束
所以1!=1*1而不等于1*0!
=1不是推导出来的,而是规定出来的.在排列公式中P=n!/(m-n)!为了使m=n时等式成立,分母不能为0,所以规定0!=1,而且我们知道从n个元素中取n个元素,只有一种取法,所以只能规定等于1,不能等于2,3.
最后一句说错了,从n个无素中取n个元素,有n!种取法,所P=n!,所以规定0!=1,不能等于2,3.

0!等于1是与其它运算相结合时,为了让其有意义规定出来的.
在一些程序设计中有可能会出现n!
你只能 for i := 1 to n do tmp := tmp*i; (Pascal)
tmp 的初值只能为1,否则就会有问题了.