网上的解释是这样的:

简单来说就是规定了,但是有道理。有没有想过?为什么不规定0!=0?因为阶乘是递归定义,n!=n*(n-1)!那么肯定有一个初始值需要人为指定。我们知道1!=1,按1!=1*0!,所以0!=1而不是0。

很明显,这是为了让公式n!=n*(n-1)!获取所有适用的(包括1!)。

但是,1类显然不需要*(1-1)!可以,定义1就好!=1是初始值,不需要乘以其他数,但是不需要额外定义0!=1.

为什么我觉得0!=1可笑?原因如下:

①0和1一样,不能实现阶乘;

②如果允许定义0!=1,能不能也定义(-1)!=?,根据公式n!=n*(n-1)!,0!=0*(0-1)!,可以得到两个逻辑上矛盾的结果:1,0!=0*任意数=0,0!是否等于1或0;2、(-1)!=0!/0=1/0(0作为分母不适用…)。

③如果可以定义0的层次,则意味着0将参与层次运算,阶乘的答案将完全混淆,所有自然非负整数的层次结果都等于0。

所以需要排除0,0在阶乘的适用范围之外。0的阶乘的正确答案是“错”,不是1。因为上面的逻辑关系,觉得0!不,不能定义为初始值1。现有教科书和计算器的定义是错误的。

如果阶乘必须定义一个初始值,只有1!=1,因为1的阶乘只有一个非零整数,没有乘法。

发表评论

后才能评论