Geben Sie bei einer positiven Ganzzahl N
die Anzahl der Ganzzahlpaare 0 <= a <= b < 2**N
so aus, dass a*b >= 2**N
.
Regeln
- Sie können davon ausgehen, dass
N
die maximale Bitbreite für Ganzzahlen in Ihrer Sprache kleiner oder gleich ist (z. B. für CN
wird sie je nach Architektur der Maschine nicht größer32
oder gleich sein64
). Wenn Ihre Sprache Ganzzahlen mit beliebiger Breite verarbeiten kann, gibt es keine Obergrenze fürN
.
Testfälle
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
Bedingung nicht einhalten .{0, 3, 19, 96, 437, 1876, 7804, 31904, 129170, 520135, 2088143, 8369175, 33512744, 134128704, 536681553, 2147082274, 8589086503, 34357951447}
Antworten:
Python 2,
7568 BytesProbieren Sie es online!
Dies wird eher in O (2 n / 2 ) -Operationen als in O (2 n ) oder O (2 2 · n ) ausgeführt, sodass es bei viel größeren Eingaben funktioniert.
(Beachten Sie, dass es einen noch schnelleren O (2 n / 3 ) -Algorithmus gibt.)
quelle
x=0;y=0
fürx=y=0
2^{N/3}
Lösung auch implementieren würden .Gelee ,
1210 BytesBeendet die kombinierten Testfälle in weniger als 3 Sekunden.
Probieren Sie es online!
Wie es funktioniert
quelle
MATL ,
109 BytesProbieren Sie es online!
Dies versucht alle möglichen Paare. Im Online-Interpreter ist nicht mehr genügend Speicher für Eingaben vorhanden
12
.Erläuterung
quelle
Brachylog , 21 Bytes
Probieren Sie es online!
quelle
A
Variablen keinen expliziten Namen geben , um ein Byte zu sparen.05AB1E ,
1312 Bytes-1 Byte danke an Emigna
Probieren Sie es online!
Erläuterung
quelle
P
genug.JavaScript (ES7),
706560 BytesTestfälle
Code-Snippet anzeigen
quelle
Mathematica, 37 Bytes
Versuchen Sie es online unter http://sandbox.open.wolframcloud.com . In Mathematica gibt es keine Beschränkung für Ganzzahlen, und dieser Algorithmus wird in Zeit 2 n ausgeführt , sodass er für große Zahlen sehr langsam ist
n
.quelle
Clojure, 78 Bytes
quelle
Eigentlich 13 Bytes
Probieren Sie es online!
Eine wörtliche Umsetzung des Problems. Ziemlich langsam.
quelle
╙;r;∙♂S╔♂π♀≥Σ
(kleinere Änderung an der Version, die ich im Chat gepostet habe )PHP , 62 Bytes
Probieren Sie es online!
quelle
Python 2 , 53 Bytes
Probieren Sie es online!
quelle
Jelly , 11 Bytes
Probieren Sie es online!
Eine wörtliche Umsetzung des Problems. Ziemlich langsam.
quelle