啊,这学期做的实验网上竟然找不到,写出来了,有两种做法 ,我这个是实现的公式 这个 通过递归来求的二项式 阶乘
#include <stdio.h>
/*此处由于在组合数中有n-n等于0 的情况 a应等于0 不影响结果*/
int jiecheng(int a){ //递归求阶乘
if(a==0)
return 1;
return a*jiecheng(a-1);
}
int zuheshu(int n, int m){ //求组合数
return jiecheng(n)/(jiecheng(m)*jiecheng(n-m)); 组合数公式 呃呃 高中就学了吧 不会的话 去百度查查
}
int mi(int n, int m){ //n^m (n-1)^m ......求这个的
if(m==1)
return n;
return n*mi(n,m-1);
}
int main(){
int m, n, i,sum=0;
scanf("%d%d",&m,&n);
for(i=0;i<n;i++){ //实现偶数项是+ 奇数项是减 即 (-1)^(n-1)
if(i%2==0)
sum+=zuheshu(n,n-i)*mi(n-i,m);
else
sum-=zuheshu(n,n-i)*mi(n-i,m);
}
printf("%d",sum);
}
运行结果