如下图所展示的图形为杨辉三角,也叫巴斯卡三角,我们将用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)
以上我们获得了每一行的数字,接下来我们要把他们打印出来,
参考打印以下星星的程序
*
* *
* * *