Catatan: Ini adalah upaya mendaur ulang pertanyaan permutasi guest271314
Ada pola menarik yang terbentuk ketika Anda menemukan perbedaan antara permutasi yang diurutkan secara leksografis dari angka-angka dasar 10 dengan angka unik yang naik. Misalnya, 123
memiliki permutasi:
123 132 213 231 312 321
Ketika Anda menemukan perbedaan di antara ini, Anda mendapatkan urutannya
9 81 18 81 9
Yang semuanya habis dibagi sembilan (karena jumlah digit dari basis 10 angka), serta menjadi palindromic.
Khususnya, jika kita menggunakan nomor berikutnya 1234
,, kita mendapatkan urutannya
9 81 18 81 9 702 9 171 27 72 18 693 18 72 27 171 9 702 9 81 18 81 9
Yang memperpanjang urutan sebelumnya sambil tetap palindrom di sekitar . Pola ini selalu berlaku, bahkan ketika Anda mulai menggunakan lebih banyak 10
angka itu, meskipun panjang urutannya adalah untuk angka. Perhatikan bahwa untuk menggunakan angka di atas 0 to 9
, kami tidak mengubah ke basis yang berbeda, kami hanya mengalikan angka dengan , misalnya .
Tujuan Anda adalah menerapkan urutan ini, dengan mengembalikan setiap elemen sebagai kelipatan dari sembilan. Misalnya, 23 elemen pertama dari urutan ini adalah:
1 9 2 9 1 78 1 19 3 8 2 77 2 8 3 19 1 78 1 9 2 9 1
Beberapa test case lainnya (0 diindeks):
23 => 657
119 => 5336
719 => 41015
5039 => 286694
40319 => 1632373
362879 => 3978052
100 => 1
1000 => 4
10000 => 3
100000 => 3
Aturan:
- Pengajuan dapat berupa:
- Program / fungsi yang mengambil angka dan mengembalikan angka pada indeks itu, baik 0 atau 1 diindeks.
- Program / fungsi yang mengambil angka dan mengembalikan ke indeks ke- , baik yang diindeks 0 atau 1.
- Program / fungsi yang menampilkan / mengembalikan urutan tanpa batas.
- Program harus mampu menangani secara teoritis hingga Elemen ke- 1 dan seterusnya, meskipun saya mengerti jika batasan waktu / memori membuat ini gagal. Secara khusus, ini berarti Anda tidak dapat menggabungkan angka dan mengevaluasi sebagai basis 10, karena sesuatu seperti akan salah.
- Ini adalah kode-golf , jadi implementasi tersingkat untuk setiap bahasa menang!
Catatan:
- Ini adalah OEIS A217626
- Saya menawarkan hadiah 500 untuk solusi yang menghitung elemen secara langsung tanpa menghitung permutasi yang sebenarnya.
- Urutan ini berfungsi untuk setiap digit yang berdekatan. Sebagai contoh, perbedaan antara permutasi sama dengan untuk .