Un nombre automorphe est un nombre qui est un suffixe de son carré en base 10. Il s'agit de la séquence A003226 dans l'OEIS.
Ta tâche:
Écrivez un programme ou une fonction pour déterminer si une entrée est un nombre automorphe.
Contribution:
Un entier compris entre 0 et 10 ^ 12 (inclus), qui peut ou non être un nombre automorphe.
Production:
Valeur de vérité / fausse indiquant si l'entrée est ou non un nombre automorphe.
Exemples:
0 -> truthy
1 -> truthy
2 -> falsy
9376 -> truthy
8212890625 -> truthy
Notation:
C'est le code-golf , le score le plus bas en octets gagne.
code-golf
number
decision-problem
Gryphon - Rétablir Monica
la source
la source
Réponses:
Brachylog , 5 octets
Essayez-le en ligne!
Comment ça fonctionne
la source
√a₁?
Pourquoi pas?Python 2 , 24 octets
Essayez-le en ligne!
Pour la première fois dans l'histoire, Python 2 ajoutant un
L
à la reproduction des longs est une fonctionnalité plutôt qu'un bug.L'idée est de vérifier si disons,
76^2=5776
se termine en76
vérifiant si76L
est une sous-chaîne de5776L
. Pour faireL
apparaître les nombres non énormes, nous multiplions par1L
ou avons2L
comme exposant, car une opération arithmétique avec un long avec produit un long.la source
Python 2 , 31 octets
Hors-golf par xnor ... (cela arrive à chaque fois)> <Mais bon, c'est étonnamment Pythonic pour le code-golf .
Les gens n'ont pas tendance à se souvenir que Python a
str.endswith()
...Essayez-le en ligne!
la source
`n*n`
pour convertir un nombre en chaîne?05AB1E , 5 octets
Essayez-le en ligne!
la source
n
est carré,.s
est des suffixes,¹
est l'entrée etå
teste l'adhésion @isaacgRétine , 44 octets
Essayez-le en ligne!
Il existe exactement 4 solutions à l'équation 10-adique
x*x = x
.la source
5*5 != 5
. Cependant, vous pouvez remarquer une tendance dans les numéros auxquels vous avez lié. Les 4 solutions sont: 0, 1, ... 59918212890625, ... 40081787109376 (les nombres p-adiques vont infiniment vers la gauche ). Les nombres que vous avez liés sont des suffixes des 4 nombres.Alice , 17 octets
Essayez-le en ligne!
Ne produit rien (ce qui est faux en mode Ordinal) ou
Jabberwocky
(qui est non vide et donc véridique en mode Ordinal; c'est aussi la valeur de chaîne véridique canonique).Explication
Il s'agit d'une légère modification du cadre général des programmes en mode Ordinal linéaire. Le
/
au milieu est utilisé pour avoir un seul opérateur en mode Cardinal entre (le*
) et ensuite nous devons le#
sauter en mode Ordinal au retour. Le programme linéaire est alors:Passons par là:
la source
Mathematica, 31 octets
Essayez-le en ligne! Les mathématiques impriment un message supplémentaire mais la réponse est correcte
la source
Python 2,
37333029 octets4 octets enregistrés grâce à @LeakyNun. Enregistré 3 octets en remarquant que l'entrée est inférieure à 10 ^ 12 donc
n
ne se termine pas par un "L". Enregistré 1 octet grâce à @Dennis parce que j'ai mal compté en premier lieu.Essayez-le en ligne! (Lien TIO avec l'aimable autorisation de @Dennis).
la source
C (gcc) , 57 octets
D'après la réponse de @ betseg, il s'agit d'une fonction qui renvoie 1 ou 0 . Il produit une sortie poubelle vers STDOUT, ce qui est autorisé par défaut .
Le score contient +4 octets pour l'indicateur du compilateur
-lm
.Essayez-le en ligne!
la source
Rubis, 22 octets
Essayez-le en ligne!
la source
C # (.NET Core) , 47 octets
Essayez-le en ligne!
la source
$"{n}"
àn+""
? Pouvez-vous également ajouter un lien TryItOnline ? Oh, et ceci est un extrait, pas une fonction / programme. Vous devez donc ajoutern=>
devant.n+""
. Merci!bool f(long n)
ou point-virgule fuite des réponses lambda en C #, Java, etc. Justen=>$"{BigInteger.Multiply(n,n)}".EndsWith(n+"")
suffit. :) Et j'ai presque oublié: Bienvenue chez PPCG!n=>
, en utilisant aSystem.Func
.Fusain ,
1211 octetsEssayez-le en ligne!
Renvoie au
False
furfalsey
et àTrue
mesuretruthy
.Power
fonction?)la source
0
pour10
,100
...1
pour50
,60
...2
pour760
,3792
...JavaScript (ES6), 23 octets
Essayez-le
J'ai écrit cet extrait sur mon téléphone, veuillez donc le modifier s'il ne fonctionne pas correctement.
la source
Gelée , 6 octets
Essayez-le en ligne!
la source
Ị
...Kotlin, 36 octets
la source
C, 77 + 4 (
-lm
) = 81 octetsEssayez-le en ligne!
la source
n*n
pourpow(n,2)
et économisez 5 octets.R, 28 octets
Crée une fonction:
Prend le module de
x^2
telle sorte que nous gardons les derniers chiffres, auxquels nous comparonsx
.la source
Perl 5 , 15 + 1 (-p) = 16 octets
Essayez-le en ligne!
la source
Gelée , 7 octets
Essayez-le en ligne!
Nombre positif pour oui, 0 pour non.
la source
Rétine ,
4733 octets14 octets grâce à Martin Ender.
Essayez-le en ligne!
la source
$%
...PHP , 41 octets
PHP Sandbox Online
PHP , 42 octets
sans regex
PHP , 44 octets
Utilisez la distance levenshtein
la source
Dyvil , 26 octets
Usage:
la source
Lot, 122 octets
L'algorithme n'est limité que par le type entier utilisé pour les variables. Dans le cas de Batch, il s'agit d'entiers signés 32 bits, donc le maximum est 2147483647. Fonctionne en testant à la fois n et n-1 pour les puissances nécessaires de 2 et 5 comme facteurs. (Sauf lorsque n est 0 ou 1, n et n-1 auront chacun un facteur.)
la source
> <> , 30 octets
Essayez-le en ligne ou regardez-le au terrain de pêche !
Suppose que le numéro d'entrée x est déjà sur la pile.
Explication: Le poisson prend le quotient de x 2 en augmentant les puissances de 10 et compte combien de fois cela équivaut à x . Lorsque la puissance de 10 devient supérieure à x , elle imprime le nombre et s'arrête. Le compte sera 1 si x est automorphe et 0 s'il ne l'est pas.
la source
Pari / GP , 23 octets
Essayez-le en ligne!
la source
Pyth ,
109 octets-1 octet grâce à isaacg .
Renvoie 0 lorsque le nombre est automorphe, rien d'autre s'il ne l'est pas.
Testez-le en ligne!
Explications
la source
`
est converti en chaîne.Rexx (Regina) , 48 octets
Essayez-le en ligne!
la source
Perl 6 , 15 octets
Essayez-le en ligne!
Renvoie un objet Match véridique pour les entrées automorphes et une valeur fausse Nil pour les autres nombres.
la source
Clojure, 59 octets
Cela semble trop verbeux.
la source
#(.endsWith(str(* % %))(str %))
?MATL , 10 octets
Cela fonctionne pour les nombres jusqu'à
floor(sqrt(2^53))
, selondouble
les limitations de précision.La sortie est un nombre positif (qui est vrai) si elle est automorphe, ou vide (qui est faux) sinon.
Essayez-le en ligne!
Explication
C'est drôle que cette réponse utilise les deux versions surchargées de
U
: avec une entrée de chaîne, elle évalue un nombre, et avec une entrée de nombre, elle calcule le carré.la source