6 1 jmu python 楊輝三角

2021-09-05 11:09:58 字數 1404 閱讀 5040

6-1 jmu-python-楊輝三角  

python對數的範圍沒有限制 所以可以直接用組合數寫  c語言建議還是用二維陣列  因為當n足夠大時一定會超過unsigned long long的範圍

根據輸入的n列印n行楊輝三角型。

printyanghui(n):#列印n行楊輝三角型
/* 請在這裡填寫答案 */

n = int(input())

printyanghui(n)

輸入n,轉化為整數

每個數後面均有乙個空格。

5
1 

1 1

1 2 1

1 3 3 1

1 4 6 4 1

由於沒有學過python 裡的二維陣列(也不知道有沒有) 所以用最笨的方法進行列印

思路 : 楊輝三角這個東西其實就是一群組合數

因為每行的第乙個元素和最後乙個特殊 所以我進行了分開處理

以下是原始碼

def jiecheng(j,i):   			#計算組合數   i為上面的數 j下面

m=1n=1 #下面的大家都知道 不知道問初中老師 排列組合

for t in range(j,0,-1):

m*=t

for k in range(i-j+1,i+1):

n*=k

return n/m

def printyanghui(n):

for i in range(n,0,-1): #控制行數

for j in range(i-1,0,-1): # 進行空格的列印

print(" ", end='')

for k in range(0,n-i+1): # 進行元素的計算

if k==0: #第乙個數直接列印1 (1後面有個空格)

print("1 ", end='')

continue

if k==n-i: #最後乙個數直接列印1 (注意空格)

print("1 ", end='')

continue

else:

print("%d"%(jiecheng(k,n-i)), end=' ') #其他數進行 組合數計算 定義乙個「jiecheng()」函式

print()

以下為測試結果(***題目沒有說格式化輸出***):

6 1 楊輝三角(動態記憶體)

楊輝三角,是二項式係數在三角形中的一種幾何排列,中國南宋數學家楊輝1261年所著的 詳解九章演算法 一書 現。在歐洲,帕斯卡 1623 1662 在1654年發現這一規律,所以這個表又叫做帕斯卡三角形。帕斯卡的發現比楊輝要遲393年,比賈憲遲600年。楊輝三角的前提是每行端點與結尾的數為1,每個數字...

python楊輝三角 楊輝三角I II

給定乙個非負整數 numrows,生成楊輝三角的前 numrows 行。在楊輝三角中,每個數是它左上方和右上方的數的和。示例 輸入 5 輸出 1 1,1 1,2,1 1,3,3,1 1,4,6,4,1 可以一行一行錯位加,當然這裡提供更簡便的方法。任取一行描述 1,2,1 如何得到 1,3,3,1 ...

Java 楊輝三角

public class yanghui 生成指定行數的楊輝三角形 param lines 楊輝三角形的行數 public void printyanghui int lines if lines 30 int line new int lines int maxlen getmaxlen line...