Geben Sie bei einer gegebenen Ganzzahl n
den kleinsten Exponenten e
größer als 1 aus, n^e
der n
eine Teilzeichenfolge enthält .
Zum Beispiel sollte 25
die Antwort 2
as sein 25 ^ 2 = 625
, die 25
als Teilzeichenfolge enthält , aber die Antwort für 13
sollte 10
as sein 13 ^ 10 = 137858491849
, so 10
ist der niedrigste Exponent, für den das Ergebnis 13
als Teilzeichenfolge enthält .
Regeln
- Standard-E / A-Regeln
- Es gelten Standardlücken
- Kürzester Code in Bytes gewinnt
n
wird immer eine ganze Zahl größer als sein0
Testfälle
1 => 2 (1 ^ 2 = 1)
2 => 5 (2 ^ 5 = 32)
3 => 5 (3 ^ 5 = 243)
4 => 3 (4 ^ 3 = 64)
5 => 2 (5 ^ 2 = 25)
6 => 2 (6 ^ 2 = 36)
7 => 5 (7 ^ 5 = 16807)
8 => 5 (8 ^ 5 = 32768)
9 => 3 (9 ^ 3 = 729)
10 => 2 (10 ^ 2 = 100)
11 => 11 (11 ^ 11 = 285311670611)
12 => 14 (12 ^ 14 = 1283918464548864)
13 => 10 (13 ^ 10 = 137858491849)
14 => 8 (14 ^ 8 = 1475789056)
15 => 26 (15 ^ 26 = 3787675244106352329254150390625)
16 => 6 (16 ^ 6 = 16777216)
17 => 17 (17 ^ 17 = 827240261886336764177)
18 => 5 (18 ^ 5 = 1889568)
19 => 11 (19 ^ 11 = 116490258898219)
20 => 5 (20 ^ 5 = 3200000)
25 => 2 (25 ^ 2 = 625)
30 => 5 (30 ^ 5 = 24300000)
35 => 10 (35 ^ 10 = 2758547353515625)
40 => 3 (40 ^ 3 = 64000)
45 => 5 (45 ^ 5 = 184528125)
50 => 2 (50 ^ 2 = 2500)
55 => 11 (55 ^ 11 = 13931233916552734375)
60 => 2 (60 ^ 2 = 3600)
65 => 17 (65 ^ 17 = 6599743590836592050933837890625)
70 => 5 (70 ^ 5 = 1680700000)
75 => 3 (75 ^ 3 = 421875)
80 => 5 (80 ^ 5 = 3276800000)
85 => 22 (85 ^ 22 = 2800376120856162211833149645328521728515625)
90 => 3 (90 ^ 3 = 729000)
95 => 13 (95 ^ 13 = 51334208327950511474609375)
100 => 2 (100 ^ 2 = 10000)
Python-Skript zum Generieren der ersten 1000 Antworten
Antworten:
Perl 6 , 31 Bytes
Probieren Sie es online!
quelle
R ,
6944 BytesAnonyme Funktion. Funktioniert in großen Dateien,
i
wennn
in BigZ konvertiert wird (siehe TIO). Danke, dass du mir etwas beigebracht hast, Giuseppe und digEmAll!Probieren Sie es online!
quelle
n, ?n^i
undpaste
konvertiertcharacter
standardmäßig :-)i
sollte ausreichen.i
in eine BigZPython 2 ,
4241 Bytes-1 Byte danke an Ørjan Johansen (
y
direkt zurück)Probieren Sie es online!
Erklärung / Ungolfed
Rekursive Funktion versuchen von2,3… bis es uns gelingt:
Probieren Sie es online!
quelle
JavaScript (ES6 / Node.js),
41 bis40 Byte1 Byte dank @Shaggy gespeichert
Übernimmt Eingaben als Zahl (funktioniert fürn<15 ) oder als BigInt- Literal.
Probieren Sie es online!
quelle
n=>(g=x=>
$ {x * = n}.match(n)?2n:-~g(x))(n)
APL (Dyalog Unicode) ,
252317 Bytes-2 Bytes dank @Erik the Outgolfer
-6 Bytes dank @ngn
Vielen Dank an @ H.PWiz, dass der Code nicht benutzerdefiniert sein muss
⎕pp
(Druckgenauigkeit)Probieren Sie es online!
quelle
17
in 17 ^ 14 = 1.6837782655940093E17 gefunden wird, aber ich weiß nicht, welche Präzisionsantworten unterstützt werden sollten⎕PP
Ich denkePyth , 9 Bytes
Probieren Sie es online!
quelle
Brachylog , 8 Bytes
Probieren Sie es online!
Erläuterung
quelle
05AB1E , 7 Bytes
Probieren Sie es online!
Erläuterung:
quelle
SAS,
7166 BytesBearbeiten:
;run;
Am Ende entfernt, da dies durch das Ende der Eingaben impliziert wird.Eingabedaten werden nach der
cards;
Anweisung wie folgt eingegeben :Erzeugt einen Datensatz
a
, der die Eingaben
und die Ausgabe enthälte
.quelle
%p(n)
) völlig in Ordnung ist. Die Ausgabe hängt jedoch davon ab, obmacro
s in SAS Werte zurückgeben können. Wenn sie zurückkehren können, der „Ausgang“ durch Rückkehr das Ergebnis sein sollte, sonst sollte es Ausgabe , die es durch was auch immer die Standardausgabe Methode wird unterstütztGelee , 7 Bytes
Probieren Sie es online!
quelle
Sauber , 99 Bytes
Probieren Sie es online!
Wenn es nicht für riesige Mengen funktionieren muss, dann
Sauber , 64 Bytes
Probieren Sie es online!
quelle
Java (OpenJDK 8) , 84 Byte
Übernimmt die Eingabe als String, der die Zahl darstellt, und gibt ein int aus.
Die meisten Bytes stammen aus der Ausführlichkeit des
BigDecimal
Wesens, das zur Verarbeitung der großen Zahlen benötigt wird.Probieren Sie es online!
Wie es funktioniert
Dies ist ziemlich einfach, aber ich werde die Erklärung für die Nachwelt einschließen;
quelle
Ruby , 37 Bytes
Probieren Sie es online!
quelle
Japt, 10 Bytes
Versuch es
quelle
JavaScript (Node.js) , 45 Byte
Testfälle aus der Antwort von @ Arnauld
Probieren Sie es online!
quelle
Holzkohle , 19 Bytes
Probieren Sie es online! Link ist eine ausführliche Version des Codes. Erläuterung:
Wiederholen, bis die Listenlänge mindestens 2 beträgt und das Produkt die Eingabe enthält ...
... die Eingabe in eine Ganzzahl umwandeln und in die Liste verschieben.
Wandeln Sie die Länge der Liste in eine Zeichenfolge und drucken Sie sie implizit aus.
quelle
Python 3 ,
63-58BytesProbieren Sie es online!
Python2 wäre wahrscheinlich kürzer, aber ich verwende gerne 3. Es ist schwierig, mit einem Lambda aufzutauchen, aber ich versuche ein paar Dinge.
quelle
while
in einem Lambda nackt ist . Vielleicht kann ich es auf andere Weise versuchen.e
in der Argument-Liste (dh.def f(n,e=2)
) Undn**e
sollte einige Bytes speichern, würde in der Tat einige Bytes speichern.for
oderwhile
nicht.MathGolf , 10 Bytes
Probieren Sie es online!
Erläuterung
Dies fühlt sich äußerst verschwenderisch an, da die Eingabe explizit zweimal gelesen und der Schleifenzähler zweimal inkrementiert werden muss.
quelle
Ruby , 41 Bytes
Probieren Sie es online!
quelle
C # (.NET Core) ,
10489 BytesProbieren Sie es online!
-1 Byte: geändert für Schleife in while (dank Skidsdev )
-14 Byte: missbraucht die seltsame String-Behandlung von C #, um Aufrufe zu entfernen
ToString()
Die BigInteger- Bibliothek von C # muss verwendet werden, da die numerischen Standard-C # -Typen (int, double, long, ulong usw.) für einige größere Zahlen (einschließlich 12, 15 und 17) fehlschlagen.
Ungolfed:
quelle
Python 2 , 47 Bytes
Probieren Sie es online!
Inspiriert von der @ Gigaflop- Lösung .
quelle
Tcl , 69
81BytesProbieren Sie es online!
quelle
PowerShell (V3 +), 67 Byte
quelle
Common Lisp, 78 Bytes
Probieren Sie es online!
quelle
J , 26 Bytes
Probieren Sie es online!
ANMERKUNG: Ich habe das Finale
]
inx:
in der TIO geändert , um die Tests für größere ganze Zahlen zu bestehen.quelle
Oracle SQL, 68 Byte
Es wird angenommen, dass die Quellennummer in einer Tabelle gespeichert ist
t(x)
, zTesten Sie in SQL * Plus
quelle