Bu Pascal'ın Örgüsü:
1 4 15 56 209 780 2911 10864 40545 151316 564719
1 3 11 41 153 571 2131 7953 29681 110771 413403 1542841
1 4 15 56 209 780 2911 10864 40545 151316 564719
Bunu tamamen uydurdum. Blaise Pascal'ın söyleyebildiğim kadarıyla örgüsü yoktu ve yaptıysa muhtemelen sayılar yerine saçlardan yapılmıştı.
Bu şekilde tanımlanır:
- İlk sütun
1
ortasında bir tane var. - İkinci sütunun
1
üstünde ve altında bir vardır. - Şimdi bir sayıyı ortasına koymak veya bir sayının üstündeki ve iki kopyasının arasında geçiş yapıyoruz.
- Sayı yukarı veya aşağı gidiyorsa, iki bitişik sayının toplamı olacaktır (örn.
56 = 15 + 41
). Başınızı biraz eğerseniz, bu Pascal üçgeninde bir adım gibidir. - Sayı ortada olacaksa, üç bitişik sayının da toplamı olacaktır (örn.
41 = 15 + 11 + 15
).
Göreviniz bu örgüyü (bir kısmını) yazdırmak olacaktır.
Giriş
Çıktılan n
son sütunun dizinini veren, tek bir tam sayı alan bir program veya işlev yazmalısınız .
İlk sütunun (sadece 1
orta çizgide bir tane basmak ) n = 0
veya mi karşılık geleceğini seçebilirsiniz n = 1
. Bu, tüm olası girdiler arasında tutarlı bir seçim olmalıdır.
Çıktı
Pascal's Braid'i n
th sütununa kadar çık . Beyaz alanın yukarıdaki örnek mizanpajla tam olarak eşleşmesi gerekir, ancak daha kısa satırları boşluklarla daha uzun satırların uzunluğuna yayabilir ve isteğe bağlı olarak tek bir son satır satır beslemesi verebilirsiniz.
Başka bir deyişle, her sütun tam olarak o sütundaki sayı (veya eşit sayı çifti) kadar geniş olmalı, ardışık sütunlardaki sayılar üst üste gelmemeli ve sütunlar arasında boşluk olmamalıdır.
Sonucu STDOUT'a (veya en yakın alternatife) yazdırabilir veya bir işlev yazarsanız, aynı içeriğe sahip bir dize veya üç dizenin bir listesini (her satır için bir tane) döndürebilirsiniz.
Daha fazla ayrıntı
Sen varsayabiliriz n
ilk sütunun endeksi (şimdiye az daha az olmayacak 0
ya 1
da endeksleme bağlı olarak). Ayrıca, örgüdeki son sayının 256'dan küçük olduğunu veya hangisinin daha büyük olduğunu , dilinizin yerel tamsayı türüyle temsil edilebilecek en büyük sayı olduğunu varsayabilirsiniz . Yani yerli tamsayı türü sadece bayt saklayabilirsiniz, sen büyük varsayabiliriz n
olduğu 9
veya 10
(tabanlı 1 Eğer 0- veya kullanmanıza bağlı n
) ve 32 bitlik tamsayılar imzalı saklayabilir eğer n
en fazla olacak 33
ya 34
.
Standart kod-golf kuralları geçerlidir. En kısa kod kazanır.
OEIS
İşte birkaç ilgili OEIS bağlantısı. Elbette bunlar örgüdeki sayıları üretmek için farklı yollar için spoiler içerir:
- Üst / alt: A001353 veya A010905 veya A106707 veya A195503
- Orta: A001835 veya A079935
- Her ikisi de: A002530
Test Kılıfları
Bu test durumları 1 temelli indeksleme kullanır. Her test durumu dört satırdır; birincisi giriş, kalan üçü ise çıktıdır.
1
1
---
2
1
1
1
---
3
1
1 3
1
---
5
1 4
1 3 11
1 4
---
10
1 4 15 56 209
1 3 11 41 153
1 4 15 56 209
---
15
1 4 15 56 209 780 2911
1 3 11 41 153 571 2131 7953
1 4 15 56 209 780 2911
---
24
1 4 15 56 209 780 2911 10864 40545 151316 564719 2107560
1 3 11 41 153 571 2131 7953 29681 110771 413403 1542841
1 4 15 56 209 780 2911 10864 40545 151316 564719 2107560