Définitions
Fonction Euler Phi ( fonction AKA totient ): une fonction qui prend un nombre positif et renvoie le nombre de nombres positifs inférieur au nombre donné qui sont co-premiers avec un nombre donné. Il est désigné par
φ(n)
.Numéro accessible : s'il existe un entier positif
x
tel queφ(x) == n
, alors iln
est accessible .
Tâche
Écrivez une fonction / un programme pour déterminer si un entier positif donné est accessible.
Contribution
Un nombre positif, dans n'importe quel format raisonnable. On peut supposer que le nombre est à la portée de la langue. Une entrée unaire est acceptée.
Production
Deux valeurs cohérentes, l'une pour les numéros accessibles et l'autre pour les numéros inaccessibles. Les deux valeurs peuvent être n'importe quoi, tant qu'elles sont cohérentes.
Cas de test
Les numéros accessibles ci 100
- dessous sont:
1, 2, 4, 6, 8, 10, 12, 16, 18, 20, 22, 24, 28, 30, 32, 36, 40, 42, 44, 46, 48, 52, 54, 56, 58, 60, 64, 66, 70, 72, 78, 80, 82, 84, 88, 92, 96
( A002202 sur OEIS)
Règles
Des échappatoires standard s'appliquent.
Critère gagnant
C'est du code-golf . Soumission avec le plus petit nombre de victoires d'octets.
Les références
la source
phi(n) = count { m : 1 <= m <= n AND (m,n) are coprime }
.. est-ce vrai?Réponses:
Gelée ,
76 octetsPas vraiment rapide. Renvoie 1 ou 0 .
Essayez-le en ligne!
Comment ça fonctionne
la source
Mathematica, 28 octets
Comme la réponse Jelly de Dennis, nous calculons les valeurs φ de tous les nombres jusqu'au carré de l'entrée et voyons si l'entrée y apparaît. Renvoie
False
si l'entrée est accessible etTrue
si ce n'est pas le cas. Oui, c'est déroutant. MaisFreeQ
est un octet plus court queMatchQ
, et bon, la spécification dit deux valeurs cohérentes> :)la source
JavaScript (ES6),
9082 octetsRenvoie
0
outrue
.Ceci est basé sur l'hypothèse que si x existe alors x ≤ 2n . S'il s'avère faux, cela devrait être mis à jour pour utiliser à la
x=n*n
place dex=n*2
(même taille, beaucoup plus lent).Un cas de bord est n = 128 qui nécessite de calculer ϕ (255) .
Démo
Afficher l'extrait de code
la source
n=2
,n=8
,n=128
,n=32768
etn=2147483648
.Axiome, 56 octets
je ne sais pas si c'est bien ... code de test et résultats
La plage 1 .. (2 * x) serait correcte jusqu'à ce que l'entrée x = 500 ...
la source
Pari / GP , 34 octets
Retour
0
si accessible,1
sinon.Essayez-le en ligne!
la source
05AB1E , 5 octets
Explication:
Essayez-le en ligne!
la source
05AB1E ,
1312 octetsÉDITER : enregistré un octet car l'entrée est réutilisée si la pile n'a pas assez d'éléments.
Sorties 1 si joignable, 0 sinon.
Repose sur l'hypothèse que x ≤ 2n s'il existe.
Essayez-le en ligne!
Comment ça fonctionne
la source
C, 123 octets
Essayez en ligne
la source