Tantangan
Untuk tantangan ini, Anda harus menentukan apakah angka yang diberikan ada dalam set Cantor. Jadi pertama-tama, mari kita tentukan set Cantor.
Pertama, mulailah dengan angka antara 0 dan 1. Angka apa pun di luar rentang ini tidak dalam set Penyedia. Sekarang, mari kita bagi angka menjadi tiga bagian yang sama: [0,1 / 3], [1 / 3,2 / 3], [2/3, 1]. Angka apa pun yang tidak di dalam rentang bagian pertama dan terakhir tidak ada dalam set Penyedia. Sekarang, Anda ulangi proses ini untuk segmen [0,1 / 3] dan [2/3, 1]. Kemudian Anda ulangi apa yang tersisa. Anda terus melakukan ini selamanya. Pada akhirnya, semua angka yang tersisa berada di set Cantor. Berikut adalah diagram dari enam iterasi pertama:
Memasukkan
Dua bilangan bulat x
dan y
.
0 < y < 2^15
0 <= x <= y
Penyebut umum terbesar dari x
dan y
adalah 1, kecuali x == 0
.
Keluaran
Jujur jika x/y
ada dalam set Penyedia .
Falsy jika x/y
tidak dalam set Cantor.
Contohnya
Sekarang, mari kita lihat beberapa contoh angka yang ada di set Cantor.
1/3 -> true
Itu ada di batas, dan batas tidak pernah dihapus.
1/4 -> true
1/4
tidak pernah di sepertiga tengah segmen, meskipun tidak pernah di perbatasan juga. Jika Anda mengikuti jalannya, Anda akan benar-benar menemukan bahwa itu bergantian antara berada di pertiga bagian pertama dan terakhir.
1/13 -> true
1/13
bergantian antara bagian pertama, pertama, dan terakhir.
1/5 -> false
1/5
jatuh ke blok kosong pertama dari baris ketiga dalam diagram di atas, antara 1/9 dan 2/9.
Kasus uji lainnya:
0/4 -> true
3/10 -> true
3/4 -> true
10/13 -> true
1/1 -> true
12/19 -> false
5/17 -> false
3/5 -> false
1/7 -> false
1/2 -> false
Anda dapat mencoba nomor lain dengan cuplikan ini:
Objektif
Orang dengan byte terkecil menang.
x == 0