主题:急!
jyl0716
[专家分:0] 发布于 2006-10-23 16:29:00
请问一下,怎么实现0!=1!
P=N!/(N-R)!又该怎么实现!
回复列表 (共3个回复)
沙发
老大徒伤悲 [专家分:29120] 发布于 2006-10-24 11:04:00
首先第一个很好实现:
if i=0 then y=1
第二个也不难:
p=1
for i=n-r+1 to n
p=p*i
next i
板凳
jyl0716 [专家分:0] 发布于 2006-10-24 13:44:00
N-R+1是不是为了让分母不等于0?
如果N=3,R=4,那分母还是等于0,是不是还要加上if i =0 then y=1?
3 楼
老大徒伤悲 [专家分:29120] 发布于 2006-10-24 16:57:00
不是的,仅仅是公式翻译过来就是这样。
P=N!/(N-R)!=1*2*3*....*(n-r)*(n-r+1)*.....*n/(1*2*3*...*(n-r))
=(n-r+1)*(n-r+2)*.....*n
所以,如上!
关于“如果N=3,R=4”是不用考虑的,因为阶乘的定义域是没有负数的(就连零都是补充定义的),所以只要考虑n>r的情况就行了。
如果你实在要做负数的阶乘,就要先自己做一个补充定义。然后依据定义来组织程序。
我来回复