Sejumlah variabel bit adalah array 0 atau lebih bit. Jadi [0, 1]adalah sejumlah variabel bit, tetapi begitu juga [].
Tulis fungsi atau program yang, dengan integer nonnegatif mengembalikan sejumlah variabel bit sehingga setiap integer memiliki pemetaan satu-ke-satu (bijektif) dengan array.
Ada jumlah tak terbatas dari pemetaan semacam itu, Anda bebas membuat satu sesuka Anda, tetapi itu harus satu-ke-satu. Pemetaan Anda harus secara konseptual satu-ke-satu untuk bilangan bulat berukuran sewenang-wenang, tetapi tidak apa-apa jika implementasi Anda gagal untuk bilangan bulat besar karena batas numerik jenis dalam bahasa pilihan Anda (misalnya C int).
Sebagai contoh dari apa yang bukan pemetaan satu-ke-satu, hanya daftar digit biner dari bilangan bulat. Dalam sistem seperti 5 menjadi [1, 0, 1](atau 0b101), tetapi itu tidak satu-ke-satu, karena 0b0101atau [0, 1, 0, 1]juga berarti 5.
Seharusnya cukup jelas bahwa pemetaan bukan satu-ke-satu jika ia melewatkan bilangan bulat (misalnya tidak bekerja untuk 5), tapi saya ingin memperjelas bahwa melewatkan array bit variabel juga bukan satu -untuk satu. Anda harus memetakan ke setiap bit array variabel yang mungkin, termasuk [].
Kode terpendek dalam byte menang.