杨辉三角/巴斯卡三角的python递归函数实现

如下图所展示的图形为杨辉三角,也叫巴斯卡三角,我们将用python语言将其打印出来

										1   	
									1   	1   	
								1   	2   	1   	
							1   	3   	3   	1   	
						1   	4   	6   	4   	1   	
					1   	5   	10   	10   	5   	1   	
				1   	6   	15   	20   	15   	6   	1   	
			1   	7   	21   	35   	35   	21   	7   	1   	
		1   	8   	28   	56   	70   	56   	28   	8   	1   	
	1   	9   	36   	84   	126   	126   	84   	36   	9   	1   	
1   	10   	45   	120   	210   	252   	210   	120   	45   	10   	1 

发现这又是递归函数,那么最好可以用递归的形式将其打印出来。
找规律,从第二行开始,每一数字都是上一行相邻两个数字的和(不存在的就是0),用数学表达式表示出来就是:

f(x,y)=f(x-1,y-1)+f(x-1,y)
#x代表行数,y代表那一行的第几个数字

用python语言表达出来就是:

def combine(x,y):
	if(x==1 and y==1):
		return 1
	elif(x<1 or y<1):
		return 0
	else:
		return combine(x-1,y-1)+combine(x-1,y)

以上我们获得了每一行的数字,接下来我们要把他们打印出来,
参考打印以下星星的程序

          * 
         * * 
        * * * 
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值