杨辉三角的C语言实现(递归与非递归)

本文用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;
}

输出如下:

至于非递归算法等待下一次更新。

  • 16
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值