日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python杨辉三角问题

發(fā)布時間:2023/12/20 python 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python杨辉三角问题 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

問題描述

楊輝三角形又稱Pascal三角形,它的第i+1行是(a+b)i的展開式的系數(shù)。

它的一個重要性質(zhì)是:三角形中的每個數(shù)字等于它兩肩上的數(shù)字相加。

下面給出了楊輝三角形的前4行:

1

1 1

1 2 1

1 3 3 1

給出n,輸出它的前n行。

思路:除第一二行外,每一行第一個數(shù)和最后一個數(shù)為一,其它數(shù)等于上一行相同位置和前一個位置的兩數(shù)的和

詳細代碼:

def main():lis = [[1],[1,1]]lis1 = []num = 2n = int(input())while num<n:for i in range(len(lis[num-1])):if i ==0:lis1.append(1)else:s = lis[num-1][i]+lis[num-1][i-1]lis1.append(s)lis1.append(1)lis =lis+[lis1]lis1 =[]num +=1for i in range(n):for j in range(len(lis[i])):print(lis[i][j],end=' ')print(' ') main()

運行結果:

4 1 1 1 1 2 1 1 3 3 1

其他大佬的簡潔代碼:

l1 = [[1]] n = 1 num = int(input()) while n < num:l1.append(list(map(lambda x, y: x + y, [0] + l1[-1], l1[-1] + [0])))n += 1 for i in l1:for j in i:print(j, end=" ")print()

該思路為:將每行前后各加上一個0,得到新的兩行,每個位置的數(shù)相加,得到的就是下一行

例如:0 1 2 1

? ? ? ? ? ?1 2 1 0

得到下一行:1 3 3 1

總結

以上是生活随笔為你收集整理的python杨辉三角问题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。