Pascalsches Dreieck
Verfasst: Montag 21. Mai 2018, 16:28
Hallo zusammen, hab mal wieder eine Aufgabe
b =
[[1
[1, 1],
[1, 2, 1],
[1, 3, 3, 1],
[1, 4, 6, 4, 1]]
1. Erzeugen Sie ein Feld b von Feldern zunehmender Länge zur Repräsentation des Pascalschen Dreiecks
(siehe https://de.wikipedia.org/wiki/Pascalsches_Dreieck). Für n ∈ N0 gilt b[n][0] =
b[n][n] = 1 und für k ∈ N, 0 < k < n gilt b[n][k] = b[n − 1][k − 1] + b[n − 1][k].2
Gibt es da noch effizientere Lösungen für?
Außerdem wollte ich fragen, wie kann ich die Ausgabe sodass die Listen in Zeilen ausgegeben werden wie oben und nicht in Reihe wie bei meiner Lösung?
[[1], [1, 1], [1, 2, 1], [1, 3, 3, 1], [1, 4, 6, 4, 1]]
Vielen Dank!
b =
[[1
[1, 1],
[1, 2, 1],
[1, 3, 3, 1],
[1, 4, 6, 4, 1]]
1. Erzeugen Sie ein Feld b von Feldern zunehmender Länge zur Repräsentation des Pascalschen Dreiecks
(siehe https://de.wikipedia.org/wiki/Pascalsches_Dreieck). Für n ∈ N0 gilt b[n][0] =
b[n][n] = 1 und für k ∈ N, 0 < k < n gilt b[n][k] = b[n − 1][k − 1] + b[n − 1][k].2
Code: Alles auswählen
length=int(input("length="))
b=[]
for x in range(0,length):
b.append([])
for i in range(0,length):
for j in range (0,i+1):
if i == j:
b[i].append(1)
elif j == 0:
b[i].append(1)
else:
b[i].append(b[i-1][j-1]+b[i-1][j])
print(b)
Außerdem wollte ich fragen, wie kann ich die Ausgabe sodass die Listen in Zeilen ausgegeben werden wie oben und nicht in Reihe wie bei meiner Lösung?
[[1], [1, 1], [1, 2, 1], [1, 3, 3, 1], [1, 4, 6, 4, 1]]
Vielen Dank!