Segitiga Pascal dihasilkan dengan memulai dengan 1dan membuat setiap baris terbentuk dari penambahan yang berurutan. Di sini, sebagai gantinya, kita akan membentuk segitiga dengan berganti-ganti perkalian dan penambahan.
Kami mulai baris 1hanya dengan soliter 1. Setelah itu, penambahan dilakukan pada baris ganjil, dan perkalian dilakukan pada baris genap (1-diindeks). Saat melakukan langkah penjumlahan, anggap spasi di luar segitiga diisi dengan 0s. Saat melakukan langkah multiplikasi, asumsikan bahwa bagian luar diisi dengan 1s.
Berikut adalah segitiga penuh hingga 7 baris. Tanda *atau +di sebelah kiri menunjukkan langkah apa yang dilakukan untuk menghasilkan baris itu.
1 1
2 * 1 1
3 + 1 2 1
4 * 1 2 2 1
5 + 1 3 4 3 1
6 * 1 3 12 12 3 1
7 + 1 4 15 24 15 4 1
Tantangan
Diberikan input n, output nbaris ke-3 dari segitiga ini.
Aturan
- Anda dapat memilih untuk mengindeks 0 sebagai gantinya, tetapi kemudian harap menyadari bahwa baris penambahan dan multiplikasi harus flip-flop, sehingga segitiga yang sama persis dihasilkan seperti di atas. Silakan sebutkan dalam kiriman Anda jika Anda memilih untuk melakukan ini.
- Input dan output dapat dianggap sesuai dengan tipe integer asli bahasa Anda.
- Input dan output dapat diberikan dalam format apa pun yang nyaman .
- Program lengkap atau fungsi dapat diterima. Jika suatu fungsi, Anda dapat mengembalikan output daripada mencetaknya.
- Jika memungkinkan, harap sertakan tautan ke lingkungan pengujian online agar orang lain dapat mencoba kode Anda!
- Celah standar dilarang.
- Ini adalah kode-golf sehingga semua aturan golf biasa berlaku, dan kode terpendek (dalam byte) menang.
Contohnya
Menampilkan dua contoh output yang mungkin dari banyak: daftar, atau string yang dipisahkan spasi.
4
[1, 2, 2, 1]
8
"1 4 60 360 360 60 4 1"
nbaris ke - th.