2. 求组合数。计算
其中计算 C(m,n)的函数首部为:intcmn(int m, int n)
计算阶乘的函数首部为:intfac(int n)
并用cmn函数打印杨辉三角形。
#include "stdio.h"
int fac(int n)
{
int f;
if(n==1) f=1;
else f=fac(n-1)*n;
return(f);
}
int cmn(int m, int n)
{
if(m<n)
return 0;
else if(m==n)
return 1;
else
return(fac(m)/(fac(n)*fac(m-n)));
}
main()
{
int n,i,j,k;
scanf("%d",&n);
for(i=0;i<=n;i++)
{
for(j=0;j<=i;j++)
printf("%3d",cmn(i,j));
putchar('\n');
}
}
想了2个小时了,求更正!