本文用C语言代码实现杨辉三角
递归算法依据于f(m,n)=f(m-1,n)+f(m-1,n-1) 其中(m,n)为杨辉三角第m行第n个元素
算法代码如下:
#include <stdio.h>
//递归函数
int func(int m,int n)
{
if(n==0||n==m)//递归终止条件
return 1;
return func(m-1,n)+func(m-1,n-1);//核心代码
}
int main(void) {
int m,i,j;
m=6;//打印前6行杨辉三角
for(i=0;i<=m;i++)
{
for(j=0;j<m-i;j++)
printf(" ");
for(j=0;j<=i;j++)
printf("%6d",func(i,j));
printf("\n");
}
return 0;
}
输出如下:
至于非递归算法等待下一次更新。