国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【python】python實現(xiàn)楊輝三角的三種方法

這篇具有很好參考價值的文章主要介紹了【python】python實現(xiàn)楊輝三角的三種方法。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

1.楊輝三角介紹:

楊輝三角是一種數(shù)學(xué)圖形,由數(shù)字排列成類似三角形的形狀。它的每個數(shù)值等于它上方兩個數(shù)值之和。這個三角形的形狀可以用一個二維表格來表示,其中每個位置上的數(shù)值都是通過前一行的數(shù)值計算得到的。在這個三角形中,第一行只有一個數(shù)值1,第二行有兩個數(shù)值1,第三行有三個數(shù)值1,以此類推。從第四行開始,除了首尾的1之外,中間的數(shù)值是上一行對應(yīng)位置的兩個數(shù)值之和。 下面是一些楊輝三角常見的特點和應(yīng)用:

  • 對稱性:楊輝三角以中心軸為對稱軸,每行的對稱位置上的數(shù)值相等。
  • 組合數(shù)性質(zhì):楊輝三角中的數(shù)值可以表示為組合數(shù),例如,第n行第k個數(shù)值表示為C(n-1, k-1),即從n-1個物體中選取k-1個的組合數(shù)。
  • 冪和性質(zhì):楊輝三角的每一行的數(shù)值之和都是2的冪,例如,第n行的數(shù)值之和為2^(n-1)。
  • 整數(shù)序列性質(zhì):楊輝三角的每一行對應(yīng)著一個整數(shù)序列,如斐波那契數(shù)列、自然數(shù)序列等。

楊輝三角不僅僅是一個有趣的數(shù)學(xué)圖形,還有許多實際應(yīng)用。它在組合數(shù)學(xué)、概率論、代數(shù)等領(lǐng)域都有重要的應(yīng)用,例如計算二項式的展開系數(shù)、解決概率分布問題、生成多項式系數(shù)等。
通過編程語言(如Python),可以實現(xiàn)楊輝三角并以可視化的方式顯示出來。這樣的程序可以逐行計算并輸出楊輝三角的數(shù)值,從而更好地展示其規(guī)律和特點,并可用于相關(guān)計算和問題求解。
python楊輝三角,python學(xué)習(xí)記錄,python,開發(fā)語言

2.方法一:迭代

代碼試?yán)?/strong>

def triangle_1(x):
 """
 :param x: 需要生成的楊輝三角行數(shù)
 :return:
 """
 triangle = [[1], [1, 1]] # 初始化楊輝三角
 n = 3 # 從第三行開始計數(shù),逐行添加
 while n <= x:
  for i in range(0, n-1):
   if i == 0:
    # 添加初始列表[1,1],楊輝三角每行的首位和末位必為1
    triangle.append([1, 1])
   else:
    # 逐位計算,并插入初始列表中
    triangle[n-1].insert(i, triangle[n - 2][i] + triangle[n - 2][i - 1])
  n += 1
 return triangle
x = 11
triangle = triangle_1(x)
  
# 遍歷結(jié)果,逐行打印
for i in range(x):
 print(' '.join(str(triangle[i])).center(100)) # 轉(zhuǎn)為str,居中顯示

運行結(jié)果:
python楊輝三角,python學(xué)習(xí)記錄,python,開發(fā)語言

3.方法二:生成器

代碼試?yán)?/strong>

def triangle_2(n):
 """
 :param n: 需要生成的楊輝三角行數(shù)
 :return: 
 """
 triangle = [1] # 初始化楊輝三角
 for i in range(n):
  yield triangle
  triangle.append(0) # 在最后一位加個0,用于計算下一行
  triangle = [triangle[i] + triangle[i - 1] for i in range(len(triangle))]
# 從生成器取值
for i in triangle_2(10):
 print(''.join(str(i)).center(100)) # 格式化輸出

運行結(jié)果:
python楊輝三角,python學(xué)習(xí)記錄,python,開發(fā)語言

4.方法三:遞歸

楊輝三角特性:

【1,1】=【0,1】+【1,0】
【1,2,1】=【0,1,1】+【1,1,0】
【1,3,3,1】=【0,1,2,1】+【1,2,1,0】
【1,4,6,4,1】=【0,1,3,3,1】+【1,3,3,1,0】
第n行等于第n-1行分別首尾補0,然后按位相加

試?yán)a:

def triangle_3(n):
 """
 :param n:需要生成的楊輝三角行數(shù)
 :return:
 """
 triangle = [1] # 初始化楊輝三角
 if n == 0:
  return triangle
 return [x+y for x, y in zip([0] + triangle_3(n - 1), triangle_3(n - 1) + [0])]
for i in range(10):
 print(''.join(str(triangle_3(i))).center(100))

運行結(jié)果:
python楊輝三角,python學(xué)習(xí)記錄,python,開發(fā)語言

到此這篇關(guān)于python實現(xiàn)楊輝三角的三種方法代碼實例的文章就介紹到這了,如果本篇文章對你有幫助,記得點贊收藏+關(guān)注哦~文章來源地址http://www.zghlxwxcb.cn/news/detail-732569.html

到了這里,關(guān)于【python】python實現(xiàn)楊輝三角的三種方法的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 數(shù)據(jù)結(jié)構(gòu):編寫程序用隊列實現(xiàn)打印楊輝三角

    數(shù)據(jù)結(jié)構(gòu):編寫程序用隊列實現(xiàn)打印楊輝三角

    ??????????本文將通過完成用隊列實現(xiàn)打印楊輝三角,代碼解釋標(biāo)注全面而且清晰,代碼書寫也十分規(guī)范,適合初學(xué)者進(jìn)行學(xué)習(xí),本篇文章算是本人的一些學(xué)習(xí)記錄分享,希望對有需要的小伙伴提供一些幫助~ 希望能幫助大家掌握: 掌握定義順序隊和鏈隊的結(jié)點類型的方

    2024年02月06日
    瀏覽(25)
  • [C語言][典例詳解]打印楊輝三角(找規(guī)律簡單實現(xiàn))

    [C語言][典例詳解]打印楊輝三角(找規(guī)律簡單實現(xiàn))

    目錄 楊輝三角的相關(guān)知識 楊輝三角圖: ? 楊輝三角的規(guī)律 在編程中實現(xiàn) 第一步?:我們先實現(xiàn)數(shù)字的打印,后面再加上空格構(gòu)成三角形形狀; ?編輯 1.首先我們可以直觀的看出三角形的兩個斜邊都是1;所以我們先打印斜邊的1(代碼實現(xiàn)+分析+運行效果:) 2.打印中間的數(shù)

    2024年02月08日
    瀏覽(18)
  • [C語言] [典例詳解] 打印楊輝三角(找規(guī)律簡單實現(xiàn))

    [C語言] [典例詳解] 打印楊輝三角(找規(guī)律簡單實現(xiàn))

    ????????用C語言打印楊輝三角。楊輝三角參考圖如下: ? ? ? ? 于是不清楚楊輝三角的同學(xué)們可以上網(wǎng)查查,可以立刻知道它的相關(guān)推理歸納和公式總結(jié)。它的簡介如下: ?所以我們可以使用二項式的方法來寫代碼。但我下面要講的是直接觀察已有數(shù)據(jù)來寫。 ??????

    2024年02月01日
    瀏覽(21)
  • 打印楊輝三角

    打印楊輝三角

    這個公式,不好算,我覺得還是楊輝三角算起來方便:c#代碼如下: ? ?double 打印楊輝三角(int n)//n必須是偶數(shù),展開項是n+1,中間項是n/2,此處返回中間項的概率202306131722 ? ? ? ? { ? ? ? ? ? ? //for (int i = 0; i n; i++) ? ? ? ? ? ? //{ ? ? ? ? ? ? // ? ?//這種方法直接算,使

    2024年02月09日
    瀏覽(25)
  • 楊輝三角(Java)

    楊輝三角(Java)

    ?實現(xiàn)思路:我們可以先把楊輝三角想象成一個空的二維數(shù)組,然后再給它賦值輸出即可。 關(guān)鍵在于如何賦值:仔細(xì)觀察上圖可以得出除了 每一行第一個數(shù)以及最后一個數(shù)(都是1) , 中間的數(shù)字規(guī)律就是: a[ i ][ j ] = a[ i - 1 ][ j - 1 ] + a[ i - 1 ][ j ] 實現(xiàn)代碼: 相信大家更多的

    2024年02月08日
    瀏覽(16)
  • [LeetCode] #118 楊輝三角

    [LeetCode] #118 楊輝三角

    給定一個非負(fù)整數(shù)? numRows , 生成「楊輝三角」的前? numRows ? 行。 在「楊輝三角」中, 每個數(shù)是它左上方和右上方的數(shù)的和。 楊輝三角: ?

    2024年02月15日
    瀏覽(24)
  • 每日一題,楊輝三角

    每日一題,楊輝三角

    給定一個非負(fù)整數(shù)?numRows,生成「楊輝三角」的前?numRows?行。 示例 1: 示例?2:

    2024年02月04日
    瀏覽(23)
  • 【C語言】-- 楊輝三角

    【C語言】-- 楊輝三角

    目錄 一.什么是楊輝三角? 二.實現(xiàn)方法 1.直角三角形版 2.等腰三角形版 楊輝三角形,又稱賈憲三角形,帕斯卡三角形,是二項式系數(shù)在三角形中的一種幾何排列。 形如: 我們不難看出其存在明顯的規(guī)律。 即:圖片的 兩個斜邊都是數(shù)字1 , 其余的數(shù)都等于 它所在層的肩上(

    2024年02月13日
    瀏覽(21)
  • 動態(tài)規(guī)劃-楊輝三角

    動態(tài)規(guī)劃-楊輝三角

    該算法題分別是: 118. 楊輝三角。 119. 楊輝三角 II 在「楊輝三角」中,每個數(shù)是它左上方和右上方的數(shù)的和。 1.2.1 示例 1: 輸入: numRows = 5 輸出: [[1],[1,1],[1,2,1],[1,3,3,1],[1,4,6,4,1]] 1.2.2 示例 2: 輸入: numRows = 1 輸出: [[1]] 1.2.3 提示: 1 = numRows = 30 來源:力扣(LeetCode) 鏈接:https://

    2024年02月13日
    瀏覽(23)
  • 【LeetCode】118. 楊輝三角

    【LeetCode】118. 楊輝三角

    題目鏈接 直覺解法: 以下的理論介紹 可以說和 本題的 代碼實現(xiàn) 毫無關(guān)系。 這個版本 需要注意 列表的邊界 思路: 前一行 兩端 補0 模擬。 結(jié)合 動圖 理解 題目 說明至少 一行,可以跳過 第一行的處理 官方版本

    2024年02月07日
    瀏覽(51)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包