Bayangkan enumerasi unsur-unsur rhombi yang tumbuh [1],[1,3,1],[1,3,5,3,1],…
(hanya bilangan ganjil sedemikian sehingga mereka selaras dengan baik). Ini akan terlihat seperti berikut, perhatikan bahwa Anda selalu mulai menghitung dengan 1
:
01
1 02 03 04
1 2 3 4 05 06 07 08 09 …
5 10 11 12
13
(1) (1,3,1) (1,3,5,3,1) (1,3,5,7,5,3,1) …
Sekarang jika Anda mulai menjumlahkan kolom ( [1],[2],[1,3,5],[4],[5],[2,6,10],…
) Anda mendapatkan urutan belah ketupat . Ini adalah 100 elemen pertama dari urutan kata:
1,2,9,4,5,18,35,24,9,10,33,60,91,70,45,16,17,54,95,140,189,154,115,72,25,26,81,140,203,270,341,288,231,170,105,36,37,114,195,280,369,462,559,484,405,322,235,144,49,50,153,260,371,486,605,728,855,754,649,540,427,310,189,64,65,198,335,476,621,770,923,1080,1241,1110,975,836,693,546,395,240,81,82,249,420,595,774,957,1144,1335,1530,1729,1564,1395,1222,1045,864,679,490,297,100
IO
Anda bebas memilih salah satu dari tiga metode input / output ini (Anda tidak perlu menangani input yang tidak valid):
- Diberikan bilangan bulat n output elemen ke- n dalam urutan itu (0- atau 1-diindeks, pilihan Anda)
- Diberikan integer n output pertama n elemen dari urutan itu
- Cetak / kembalikan urutan tanpa batas
Testcases
Silakan merujuk ke 100 syarat pertama di atas, berikut adalah beberapa contoh yang lebih besar (1-diindeks):
101 -> 101
443 -> 1329
1000 -> 49000
1984 -> 164672
2017 -> 34289
2018 -> 30270
3000 -> 153000
JavaScript (ES7),
4241 byteDisimpan 1 byte berkat @ovs
Diindeks 0. Ekspresi bentuk tertutup yang berasal dari A004737 .
Uji kasus
Tampilkan cuplikan kode
sumber
Befunge,
6260 byteCobalah online!
Penjelasan
Kita mulai dengan membaca nomor elemen berbasis satu, n , dari stdin, dan menyimpan duplikat.
Kemudian kita menentukan belah ketupat tempat kita berada, dengan menghitung bilangan bulat, r , hingga
r*r >= n
.Kolom diimbangi dari sisi kanan belah ketupat, c , adalah
r*r - n
.Untuk mendapatkan offset yang dipantulkan di sekitar sumbu tengah, kami memeriksa apakah
c >= r
.Dan jika ya, maka c yang direfleksikan menjadi
r*2 - 2 - c
.Setelah kita memiliki c yang direfleksikan , jumlah kolomnya adalah sederhana
(c*2 + 1) * n
.sumber
APL (Dyalog) , 18 byte
Cobalah online!
sumber
Jelly , 8 byte
Cobalah online!
Bagaimana itu bekerja
sumber