Bei einer Eingabe n
muss Ihr Programm oder Ihre Funktion die kleinste positive Ganzzahl ausgeben, k
sodass n
auf das nächste Vielfache von gerundet k
größer als ist n
.
Beispiel.
Bei einer Eingabe 20
sollte der Ausgabewert wie folgt lauten 3
:
Das nächste Vielfache von
1
ist20
, das nicht größer als ist20
.Das nächste Vielfache von
2
ist20
, das nicht größer als ist20
.Der nächste Vielfache von
3
heißt21
, das ist als größer20
, so dass es ausgegeben wird.
Testfälle
#Input #Output
2 3
4 5
6 4
8 3
10 4
12 7
14 3
16 6
18 4
20 3
22 4
24 5
26 3
28 5
30 4
32 3
34 4
36 8
38 3
40 6
42 4
44 3
46 4
48 5
50 3
52 6
54 4
56 3
58 4
60 7
62 3
64 5
66 4
68 3
70 4
72 11
74 3
76 6
78 4
80 3
82 4
84 5
86 3
88 5
90 4
92 3
94 4
96 7
98 3
1000 6
Die Ausgabe bei jeder ungeraden Eingabe sollte 2 sein.
Regeln
n
ist eine positive ganze Zahl kleiner als2^32
- Das Runden wird so durchgeführt, dass, wenn zwei Vielfache von
k
gleich weit entfernt sindn
, das größere gewählt wird ( "Runden halbiert" ). Auf diese Weisen
ergibt jede ungerade eine Ausgabe von2
. - Das ist Code-Golf , also gewinnt der kürzeste Code in jeder Sprache .
Antworten:
Python 3 ,
4838 BytesBearbeiten: -10 Bytes mithilfe von Rekursion
Probieren Sie es online!
quelle
Japt , 6 Bytes
Probieren Sie es online!
Erläuterung:
quelle
r
ist ein Builtin? o_oo æ@<rX
MATL , 13 Bytes
Probieren Sie es online! Oder überprüfen Sie alle Eingaben von
1
bis1000
.Erläuterung
Betrachten Sie die Eingabe
6
.quelle
Python 2 , 35 Bytes
Probieren Sie es online!
quelle
JavaScript (ES6),
28 bis25 ByteProbier es aus
Oder testen Sie alle Zahlen von 1-1000 (geben Sie ihm eine Minute, um zu rennen):
Code-Snippet anzeigen
quelle
Proton , 33 Bytes
Probieren Sie es online!
quelle
Pyth ,
1211 BytesProbieren Sie es hier aus.
quelle
Proton , 33 Bytes
Probieren Sie es online!
quelle
<!-- language: lang-python -->
?Jelly , 11 Bytes
Eine monadische Verknüpfung, die positive ganze Zahlen aufnimmt und zurückgibt.
Probieren Sie es online! oder sehen Sie sich eine Testsuite an .
Wie?
Hinweis: Die Verkettung
1
ist nur die Fälle zu behandeln , in denenn
einer der ist1
,2
oder4
wenn das Ergebnis muss seinn+1
(‘R÷@%1<.¬TṂ
würde auch funktionieren).quelle
Haskell ,
3332 BytesProbieren Sie es online!
Dank w0lf ein Byte gespeichert
quelle
!!0
anstelle vonhead
Dyalog APL,
2322 BytesProbieren Sie es online!
quelle
Pyth, 5 Bytes
Testsuite
Keine Rundung eingebaut, nur nach der ersten positiven Ganzzahl T suchen, wobei das Doppelte der Eingangsmodifikation T größer oder gleich T ist.
Erläuterung:
quelle
x86-Maschinencode, 17 Byte
Dieser Code implementiert eine grundlegende, iterative Lösung in Form einer wiederverwendbaren Funktion:
Die Funktion folgt der Fastcall-Aufrufkonvention , sodass der einzelne Parameter (
n
) imECX
Register übergeben wird. Der Rückgabewert (k
) wird wie gewohnt im zurückgegebenEAX
Register zurückgegeben.Probieren Sie es online!
quelle
Java 8, 42 Bytes
Lambda von
Integer
bisInteger
.Probieren Sie es online
Danksagung
quelle
f=1
++f
f
n->{for(int f=1;;)if(n%++f*2>=f)return f;}
Perl 5 , 24 + 1 (-p) = 25 Bytes
Probieren Sie es online!
Versucht jede Ganzzahl
$k
ab 1, bis ein Rest von mindestens der Hälfte gefunden wird$k
.quelle
Viertens (gviertens) , 45 Bytes
Probieren Sie es online!
Code-Erklärung
quelle
05AB1E , 9 Bytes
Probieren Sie es online!
Erläuterung
quelle
Rockstar , 681 Bytes
Sie können Rockstar online ausprobieren , aber Sie müssen den Code kopieren und einfügen. Sie werden aufgefordert, eine Eingabenummer einzugeben.
Ich habe nicht die niedrigste Byteanzahl gewählt, da Rockstar offensichtlich nicht zum Golfen geeignet ist. Stattdessen habe ich versucht, Rock'n'Roll-Texte zu wählen.
Erläuterung:
Dies basiert auf der gleichen Lösung wie andere (Python, Java):
Zuerst muss ich jedoch die Modul- und Deckenfunktionen definieren, die der Poesie halber Gedanken und Rock genannt werden.
Das Folgende ist eine weniger poetische Version mit unterschiedlichen Variablennamen und Erklärungen, bei denen die Syntax unklar ist. Klammern kennzeichnen Kommentare.
quelle
Jelly , 18 Bytes
Probieren Sie es online!
Volles Programm.
quelle
Full program.
Wann ist es nichtSchnelle 3 , 51 Bytes
Funktioniert aus extrem bizarren Gründen
[0]
nicht online. Hier ist die Online-Compiler-kompatible Version (die.first!
stattdessen verwendet):Test Suite (online-kompatibel).
quelle
C # (Mono) , 39 Bytes
Probieren Sie es online!
quelle
Stax , 7 Bytes
Führen Sie es aus und debuggen Sie es
quelle