二项式定理 用pascal怎么算?
1个回答

不要用阶乘,直接算

c(m,n)=n*(n-1)*……*(n-m)/m*(m-1)*……*1

程序计算的时候为了避免乘积会越界,必须采取一些措施

如下:

c(m,n)=a/b

a=n*(n-1)*……*(n-m)

b=m*(m-1)*……*1

在得到累乘的积a和b的过程中判断a能否被b中的项整除,如果能得话就将它们除掉,在用手计算的时候就叫做约分.这样做的代价是牺牲时间.

还有一种是牺牲空间为代价

那就是记录下C(1,1)~C(m,n)

先算得C(i,j),记录下他的值,然后计算C(i+1,j),和C(i,j+1)然后记录下来,一直计算到C(m,n)最后需要那一个就取计算出来的值.

程序就不写了,自己按照这个思路就能够做出来