Beberapa bilangan bulat positif dapat ditunjukkan memiliki sifat yang disebut keterbagian rantai. Untuk angka yang dapat dibagi rantai oleh n , itu harus memenuhi tiga persyaratan:
Setiap digit membagi angka yang dibentuk oleh n digit yang mengikutinya.
Misalnya, angka 7143 adalah rantai-terbagi oleh 2 karena 7 membagi 14 dan 1 membagi 43. Yaitu tidak dapat dibagi rantai oleh 3 karena 7 tidak membagi 143.
Setiap urutan diperhitungkan untuk dapat dibagi tidak harus memiliki nol di depan.
Misalnya, angka 14208 tidak dapat dibagi rantai oleh 2 karena 08 memiliki nol di depan. Namun, rantai-dibagi oleh 3, karena 208 tidak memiliki nol di depan.
Semua digit dalam angka harus unik.
Sebagai contoh, nomor 14280 adalah rantai-dibagi oleh 2, 3 dan 4. Jika penjelasan saya tentang pembagian rantai tidak jelas, silakan ajukan pertanyaan di komentar.
Memasukkan
Input ke program terdiri dari bilangan bulat tunggal n
, diikuti oleh spasi, kemudian angka yang memiliki digit tertentu diganti dengan garis bawah. Misalnya, berikut ini adalah input yang mungkin:
3 6__2__4508
n akan lebih besar dari 1. Jumlahnya tidak akan sepenuhnya menjadi garis bawah. Anda tidak dijamin bahwa digit pertama bukan garis bawah. Digit pertama tidak akan pernah menjadi 0. n tidak akan pernah lebih besar atau sama dengan jumlah digit dalam angka.
Keluaran
Keluarkan angka tersebut, dengan digit yang digantikan oleh bilangan bulat sedemikian rupa sehingga angka yang dihasilkan dapat dibagi rantai oleh n . Jika ada lebih dari satu cara melengkapi nomor yang dapat dibagi-rantai, ada yang dapat digunakan sebagai output. Jika tidak ada angka yang bisa menyelesaikannya, output no answer
. Sebagai contoh, output dari contoh input dapat berupa:
6132794508
Ini kode golf, jadi kode terpendek menang.
n
lebih besar dari atau sama dengan jumlah digit dalam angka itu, jumlahnya adalah rantai yang dapat dibagi?