Terinspirasi oleh pos migrasi yang diterima dengan buruk ini .
Kepala keamanan di perusahaan Anda khawatir tentang sistem penghasil PIN Anda setelah diberikan kepadanya 12345
. Dia juga tidak terlalu menghargai lelucon Spaceballs yang Anda buat atas biaya sendiri, jadi Anda telah diutus untuk menulis ulang generator PIN. Karena harus sesuai dengan beberapa perangkat keras khusus, Anda harus membuatnya sekecil mungkin.
Tugas Anda
- Anda mengambil dua input - # PIN, dan ukuran PIN dalam digit.
- Hasilkan jumlah PIN yang ditentukan dengan ukuran yang ditentukan secara acak dan cetaklah.
- Semua PIN yang valid dengan ukuran harus dimungkinkan untuk dicetak, meskipun kemungkinan tidak seragam.
Namun, ada beberapa batasan pada PIN - ini adalah yang tidak valid:
- Jika semua pasangan adalah digit yang sama:
114422
(Catatan: ini jelas akan mencakup semua PIN digit yang sama). - PIN semakin linear (mod 10):
246802
. - Semua kelompok 3 adalah garis fisik pada keypad dari
1 2 3;4 5 6;7 8 9;bksp 0 enter;
:147369
. - PIN sepenuhnya dapat dibagi menjadi beberapa kelompok dari aturan 1 dan aturan 3.
- Jika semua pasangan adalah digit yang sama:
- Ini adalah kode-golf , jadi kode terpendek dalam byte menang!
123
, tetapi 55432
akan baik-baik saja.
55123
)?