编写求取函数的程序

二项式系数展开式:
例如:
在这里插入图片描述
这又是一个将数理知识代码化的编程实例问题.
首先这是一个二项式系数(又名杨辉三角形),所以其内的参数m应永远大于
参数n。
故只需再设计阶乘函数即可解决.
阶乘函数肯定需要找中介
有两种算法实现阶乘.

	while(n)
	t*=n--;
for(i=1;i<N;i++)
{
	t=t*N;
	N--;
}

考虑到时间复杂度的原因,我就采用了第一种方法,最后的代码实现为:

#include <stdio.h>
int Cau(int n)
{
    float i=1;
    while(n)
	i*=n--;
    return i;
}
int main()
{
    int m,n;
    printf("请输入上限n:");
	scanf("%d",&n);
	printf("\n请输入下限m:");
    scanf("%d",&m);
    printf("c(m,n)=%d\n",Cau(m)/Cau(n)/Cau(m-n));
    return 0;
}

该题考察了阶乘的利用与数学函数间的关系.

猜你喜欢

转载自blog.csdn.net/RViewSonic/article/details/107125547