Étant donné un entier n
, affichez le plus petit exposant e
supérieur à 1 tel qu'il n^e
contient n
comme sous-chaîne.
Par exemple, pour 25
, la réponse doit être 2
, as 25 ^ 2 = 625
, qui contient 25
comme sous-chaîne, mais la réponse pour 13
doit être 10
, as 13 ^ 10 = 137858491849
, tout 10
comme l'exposant le plus bas pour lequel le résultat contient 13
comme sous-chaîne.
Règles
- Règles d'E / S standard
- Des échappatoires standard s'appliquent
- Le code le plus court en octets gagne
n
sera toujours un entier supérieur à0
Cas de test
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)
Script Python pour générer les 1000 premières réponses
Réponses:
Perl 6 , 31 octets
Essayez-le en ligne!
la source
R ,
6944 octetsFonction anonyme. Fonctionne sur grand
i
lorsquen
est converti en BigZ (voir TIO). Merci de m'avoir appris quelque chose Giuseppe et digEmAll!Essayez-le en ligne!
la source
n, ?n^i
etpaste
convertis àcharacter
par défaut :-)i
devrait être suffisant.i
en bigZ égalementPython 2 ,
4241 octets-1 octet grâce à Ørjan Johansen (retour
y
direct)Essayez-le en ligne!
Explication / Non golfé
Fonction récursive essayant de2,3… jusqu'à ce que nous réussissions:
Essayez-le en ligne!
la source
JavaScript (ES6 / Node.js),
4140 octets1 octet enregistré grâce à @Shaggy
Prend l'entrée comme un nombre (fonctionne pourn<15 ) ou un littéral BigInt .
Essayez-le en ligne!
la source
n=>(g=x=>
$ {x * = n}.match(n)?2n:-~g(x))(n)
APL (Dyalog Unicode) ,
252317 octets-2 octets grâce à @Erik the Outgolfer
-6 octets grâce à @ngn
merci à @ H.PWiz pour avoir rendu le code ne nécessitant pas de personnalisation
⎕pp
(précision d'impression)Essayez-le en ligne!
la source
17
dans 17 ^ 14 = 1.6837782655940093E17, mais idk à ce que les réponses de précision devraient prendre en charge⎕PP
je supposePyth , 9 octets
Essayez-le en ligne!
la source
Brachylog , 8 octets
Essayez-le en ligne!
Explication
la source
05AB1E , 7 octets
Essayez-le en ligne!
Explication:
la source
SAS,
7166 octetsEdit: supprimé
;run;
à la fin, car il est impliqué par la fin des entrées.Les données d'entrée sont entrées après l'
cards;
instruction, comme ceci:Génère un ensemble de données
a
contenant l'entréen
et la sortiee
.la source
%p(n)
) est tout à fait correct, mais la sortie dépend de simacro
s dans SAS peut retourner des valeurs. S'ils peuvent revenir, la "sortie" devrait être en renvoyant le résultat, sinon il devrait le sortir par n'importe quelle méthode de sortie standard prise en chargeGelée , 7 octets
Essayez-le en ligne!
la source
Nettoyer , 99 octets
Essayez-le en ligne!
S'il n'a pas besoin de fonctionner pour des nombres énormes géants, alors
Nettoyer , 64 octets
Essayez-le en ligne!
la source
Java (OpenJDK 8) , 84 octets
Prend l'entrée comme une chaîne représentant le nombre et génère un entier.
La plupart des octets proviennent de la verbosité de l'
BigDecimal
être nécessaire pour traiter les grands nombres.Essayez-le en ligne!
Comment ça fonctionne
C'est assez simple mais je vais inclure l'explication de la postérité;
la source
Rubis , 37 octets
Essayez-le en ligne!
la source
Japt, 10 octets
Essayez-le
la source
JavaScript (Node.js) , 45 octets
Cas de test tirés de la réponse de @ Arnauld
Essayez-le en ligne!
la source
Fusain , 19 octets
Essayez-le en ligne! Le lien est vers la version détaillée du code. Explication:
Répétez jusqu'à ce que la longueur de la liste soit d'au moins 2 et que son produit contienne l'entrée ...
... transtyper l'entrée en entier et la pousser dans la liste.
Convertissez la longueur de la liste en chaîne et imprimez-la implicitement.
la source
Python 3 ,
6358 octetsEssayez-le en ligne!
Python2 serait probablement plus court, mais j'aime en utiliser 3. Il est difficile de monter avec un lambda, mais j'essaie quelques choses.
la source
while
dans un lambda. Peut-être que je peux essayer d'autres façons ..e
dans la liste d'arguments (ie.def f(n,e=2)
) Etn**e
devrait économiser quelques octets, Python 2 économiserait en effet pas mal d'octets.for
ouwhile
ne fonctionnent pas.MathGolf , 10 octets
Essayez-le en ligne!
Explication
Cela semble extrêmement inutile, d'avoir à lire explicitement l'entrée deux fois, d'avoir à incrémenter le compteur de boucle deux fois.
la source
Rubis , 41 octets
Essayez-le en ligne!
la source
C # (.NET Core) ,
10489 octetsEssayez-le en ligne!
-1 octet: changé pour la boucle en while (grâce à Skidsdev )
-14 octets: abusé de la gestion des chaînes étranges de C # pour supprimer les
ToString()
appelsBesoin d'utiliser la bibliothèque BigInteger de C # , car les types C # numériques standard (int, double, long, ulong, etc.) échouent pour certains grands nombres (y compris 12, 15 et 17).
Non golfé:
la source
Python 2 , 47 octets
Essayez-le en ligne!
Inspiré par la solution de @ Gigaflop .
la source
Tcl , 69
81octetsEssayez-le en ligne!
la source
PowerShell (V3 +), 67 octets
la source
Lisp commun, 78 octets
Essayez-le en ligne!
la source
J , 26 octets
Essayez-le en ligne!
NOTE: J'ai changé la finale
]
dex:
la TIO, pour effectuer les tests passent pour les entiers plus grands.la source
Oracle SQL, 68 octets
On suppose que le numéro source est stocké dans une table
t(x)
, par exempleTest dans SQL * Plus
la source