Saya mencari-cari di web dan menemukan Puzzle Jam Google Code ini. Saya sangat menyukainya jadi saya memutuskan untuk mempostingnya di sini.
Game Lotere Baru
Lotere berubah! Lotre dulu memiliki mesin untuk menghasilkan nomor pemenang acak. Tetapi karena masalah kecurangan, Lotere telah memutuskan untuk menambahkan mesin lain. Angka yang menang baru akan menjadi hasil dari operasi bitwise-AND antara dua angka acak yang dihasilkan oleh kedua mesin.
Untuk menemukan bitwise-AND dari X dan Y , tuliskan keduanya dalam biner; maka sedikit dalam hasil dalam biner memiliki 1 jika bit yang sesuai dari X dan Y keduanya 1, dan 0 sebaliknya. Dalam sebagian besar bahasa pemrograman, bitwise-AND dari X dan Y ditulis X&Y .
Sebagai contoh: Mesin lama menghasilkan angka 7 = 0111 . Mesin baru menghasilkan angka 11 = 1011 . Angka yang menang adalah (7 DAN 11) = (0111 DAN 1011) = 0011 = 3 .
Dengan ukuran ini, Lotere berharap dapat mengurangi kasus klaim penipuan, tetapi sayangnya seorang karyawan dari perusahaan Lotere telah membocorkan informasi berikut: mesin lama akan selalu menghasilkan bilangan bulat non-negatif kurang dari A dan yang baru akan selalu menghasilkan bilangan bulat non-negatif kurang dari B .
Catalina ingin menang lotre ini dan untuk mencobanya dia memutuskan untuk membeli semua bilangan bulat non-negatif kurang dari K .
Mengingat A , B dan K , Catalina ingin tahu dalam berapa banyak cara berbeda mesin dapat menghasilkan sepasang angka yang akan membuatnya menjadi pemenang.
Bisakah kamu membantunya?
MemasukkanBaris pertama input memberikan jumlah kasus uji, baris T. T mengikuti, setiap baris dengan tiga angka AB K.
KeluaranUntuk setiap test case, output satu baris yang berisi "Case #x: y", di mana x adalah nomor case test (mulai dari 1) dan y adalah jumlah pasangan yang memungkinkan yang dapat dihasilkan mesin untuk membuat Catalina menjadi pemenang.
Batas1 ≤ T ≤ 100. Kumpulan data kecil
1 ≤ A ≤ 1000. 1 ≤ B ≤ 1000. 1 ≤ K ≤ 1000. Kumpulan data besar
1 ≤ A ≤ 109. 1 ≤ B ≤ 109. 1 ≤ K ≤ 109. Sampel
Input Output 5 Case #1: 10 3 4 2 Case #2: 16 4 5 2 Case #3: 52 7 8 5 Case #4: 2411 45 56 35 Case #5: 14377 103 143 88Dalam test case pertama, ini adalah 10 pasangan yang mungkin dihasilkan oleh mesin lama dan baru yang akan membuatnya menjadi pemenang: <0,0>, <0,1>, <0,2>, <0,3> , <1,0>, <1,1>, <1,2>, <1,3>, <2,0> dan <2,1>. Perhatikan bahwa <0,1> tidak sama dengan <1,0>. Juga, meskipun pasangan <2, 2> dapat dihasilkan oleh mesin, itu tidak akan membuat Catalina menang sejak (2 DAN 2) = 2 dan dia hanya membeli angka 0 dan 1.
Inilah tautan untuk masalah aktual: https://code.google.com/codejam/contest/2994486/dashboard#s=p1
Ini kode-golf, jadi kode terpendek menang. Semoga berhasil