Menu
CoddyTech

Pascal's Triangle

Pascal üçgeninde ilk satır [1] şeklindedir. Sonraki her satır bir eleman daha uzundur, 1 ile başlar ve biter; aradaki her eleman ise hemen üstündeki iki elemanın toplamıdır. Bir tamsayı olan numRows verilir. Üçgenin ilk numRows satırını, en üst satır önce olacak şekilde ve her satır bir tamsayı dizisi olarak döndür.

Fonksiyon

generate(numRows: integer) → integer-2d-array
numRowsinteger
üçgenin kaç satırının oluşturulacağı
Döndürürinteger-2d-array
ilk numRows satır, en üst satır önce

Kısıtlar

  • 1 ≤ numRows ≤ 30
  • İlk 30 satırdaki her değer, 32 bitlik işaretli bir tamsayıya sığar. En büyük değer 77558760'tır ve 30. satırın ortasındadır.

Örnekler

Girdi
numRows = 5
Çıktı
[[1], [1, 1], [1, 2, 1], [1, 3, 3, 1], [1, 4, 6, 4, 1]]
Açıklama
Her iç giriş, üstündeki iki girdiyi toplar. Dördüncü satırda 3 = 1 + 2 ve 3 = 2 + 1. Beşinci satırda 4 = 1 + 3, 6 = 3 + 3 ve 4 = 3 + 1.

lock iconGönderirken +13 gizli test

challenge icon

Ek soru

Yukarıdaki satırları tutmak yerine, satır satır yerinde güncelleyerek tek bir dizide yalnızca son satırı oluşturabilir misin? İç döngü hangi yönde çalışmalı ve neden?

Kodu sıfırla
def generate(numRows):
    # Kodu buraya yazın
Test durumları

Durum 1

Durum 2

Girdi

numRows = 5

Beklenen

[[1], [1, 1], [1, 2, 1], [1, 3, 3, 1], [1, 4, 6, 4, 1]]