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的原因 我看有的人用階乘遞推公式推出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,否則就會有問題了.