Diberikan bilangan bulat positif N
, hasilkan jumlah pasangan bilangan bulat 0 <= a <= b < 2**N
sedemikian rupa a*b >= 2**N
.
Aturan
- Anda dapat berasumsi bahwa
N
kurang dari atau sama dengan lebar bit maksimum untuk bilangan bulat dalam bahasa Anda (misalnya untuk C,N
tidak akan melebihi32
atau64
, tergantung pada arsitektur mesin). Jika bahasa Anda mampu menangani bilangan bulat lebar sewenang-wenang, maka tidak ada batas atasN
.
Uji Kasus
1 0
2 3
3 19
4 96
5 437
6 1876
7 7804
8 31904
9 129170
10 520135
11 2088143
12 8369175
13 33512744
14 134128704
15 536681553
16 2147082274
a <= b
kondisi.{0, 3, 19, 96, 437, 1876, 7804, 31904, 129170, 520135, 2088143, 8369175, 33512744, 134128704, 536681553, 2147082274, 8589086503, 34357951447}
Jawaban:
Python 2,
7568 byteCobalah online!
Ini berjalan dalam operasi O (2 n / 2 ) daripada O (2 n ) atau O (2 2 · n ), sehingga bekerja pada input yang jauh lebih besar.
(Perhatikan bahwa ada algoritma O (2 n / 3 ) yang lebih cepat .)
sumber
x=0;y=0
untukx=y=0
2^{N/3}
solusi juga.Jeli ,
1210 byteSelesaikan semua test case dalam waktu kurang dari 3 detik.
Cobalah online!
Bagaimana itu bekerja
sumber
MATL ,
109 byteCobalah online!
Ini mencoba semua pasangan yang mungkin. Kehabisan memori dalam juru bahasa online untuk input melebihi
12
.Penjelasan
sumber
Brachylog , 21 byte
Cobalah online!
sumber
A
ke variabel itu, menghemat satu byte.05AB1E ,
1312 byte-1 byte terima kasih kepada Emigna
Cobalah online!
Penjelasan
sumber
P
sudah di sini.JavaScript (ES7),
706560 byteUji kasus
Tampilkan cuplikan kode
sumber
Mathematica, 37 byte
Cobalah online di http://sandbox.open.wolframcloud.com . Mathematica tidak memiliki batasan pada bilangan bulat, dan algoritma ini berjalan dalam waktu 2 n , sehingga sangat lambat untuk ukuran besar
n
.sumber
Clojure, 78 byte
sumber
Sebenarnya , 13 byte
Cobalah online!
Implementasi masalah secara literal. Cukup lambat.
sumber
╙;r;∙♂S╔♂π♀≥Σ
(edit kecil ke versi yang saya posting di chat )PHP , 62 byte
Cobalah online!
sumber
Python 2 , 53 byte
Cobalah online!
sumber
Jelly , 11 byte
Cobalah online!
Implementasi masalah secara literal. Cukup lambat.
sumber