Étant donné un entier non négatif, indiquez s'il s'agit d'un nombre à trois chiffres se terminant par un, dans une base entière cohérente. En d'autres termes, le nombre doit être représenté en base-N, N étant un entier supérieur à zéro.
Règles
- C'est le golf de code , donc la réponse la plus courte l'emporte.
- Comme unaire se comporte bizarrement, le comportement avec l'entrée 3 10 n'est pas défini.
- Les failles standard sont interdites.
Exemples
Vrai:
5
73
101
1073
17
22
36
55
99
Faux:
8
18
23
27
98
90
88
72
68
Une poignée de grands nombres:
46656 true
46657 true
46658 true
46659 true
46660 true
46661 false
46662 false
46663 true
46664 false
46665 true
46666 true
46667 false
46668 false
46669 false
46670 true
46671 true
n
est justen
1
est, par exemple0 = ()₁
,3 = (111)₁
,10 = (1111111111)₁
, etc.Réponses:
Gelée , 7 octets
Renvoie le nombre de bases (non nul étant vrai, zéro étant faux) dans lesquelles l'entrée est un nombre à trois chiffres se terminant par un.
Essayez-le en ligne!
Comment ça marche
la source
JavaScript (ES7),
434039 octetsCas de test
Afficher l'extrait de code
Commenté
la source
Python 3 ,
5047 octets-2 octets grâce à @LeakyNun
-1 octets grâce à @Dennis
Essayez-le en ligne!
la source
Haskell ,
4140 octetsMerci à @Zgarb d'avoir joué au golf sur 1 octet!
Essayez-le en ligne!
la source
Brachylog , 10 octets
Essayez-le en ligne!
la source
05AB1E ,
118 octetsEnregistré 3 octets grâce à Adnan .
Essayez-le en ligne!
Explication
la source
Gelée , 12 octets
Essayez-le en ligne!
la source
Mathematica, 43 octets
Essayez-le en ligne!
ou Essayez-le en ligne! (grands nombres)
Martin Ender a économisé 3 octets
la source
!FreeQ[#~IntegerDigits~Range@#,{_,_,1}]&
est un peu plus court si cela ne vous dérange pas de voir l'IntegerDigits::ibase: Base 1 is not an integer greater than 1.
avertissement. (Il renvoie toujours les bonnes réponses.)Wolfram Language (Mathematica) , 35 octets
Essayez-le en ligne!
Vérifie explicitement si n% i = 1 et i 2 <n <i 3 pour une base possible i . Aux fins du golf, l'inégalité est réorganisée à 1 <n / i 2 <i , de sorte qu'elle peut être enchaînée sur l'égalité.
la source
Nettoyer ,
5856 octets-2 merci à Dennis
Essayez-le en ligne!
la source
Husk , 10 octets
Essayez-le en ligne! Assez proche de la réponse Jelly de Dennis .
la source
APL (Dyalog Unicode) ,
212014 octets SBCS-5 grâce à @ngn.
Solution purement arithmétique (ne fait en fait aucune conversion de base) et donc très rapide.
Essayez-le en ligne!
⊢(
…)⍨1↓⍳
Sur l'un des arguments ɩ ndices 1… et l'argument, appliquer:|
la division reste×∘⌈
fois l'arrondi⍟
log N Argument3∊
est trois un membre de cela?la source
⊢(∨/(3=∘⌈⍟)∧1=|)⍨1↓⍳
(⊂1 3)∊⊢(⌈|,¨⍟)⍨1↓⍳
3∊⊢(|×|×∘⌈⍟)⍨1↓⍳
1=⌈a⍟b
,a≤b
→a=b
→0=a|b
∵0=b|b
Pyth , 10 octets
Vérifiez tous les cas de test.
la source
Husk , 15 octets
Essayez-le en ligne!
Explication
la source
PHP, 48 + 1 octets
sorties avec
0
pour fausse (ou entrée3
),1
pour vérité.Exécuter en tant que pipe avec
-nR
ou l' essayer en ligne .la source
C, 60 octets
Une fonction qui renvoie non nul si l'argument peut être représenté comme un nombre à trois chiffres se terminant par 1:
Remarque: cela fonctionne avec GCC, où les fonctions sont intégrées. Pour les autres compilateurs, vous devez probablement vous assurer que les types d'argument et de retour sont connus:
Explication
La base la plus basse dans laquelle
n
est représentée en 3 chiffres est⌊∛n⌋
, et la base la plus basse dans laquellen
est représentée en 2 chiffres est⌊√n⌋
, donc nous testons simplement si le nombre est congru à 1 modulo toutes les bases dans la plage de 3 chiffres. Nous retournons le compte du nombre de bases satisfaisant à la condition, en donnant une valeur non nulle (véridique) ou zéro (fausse) selon le cas.Programme de test
Passez un nombre quelconque d'entrées comme paramètres positionnels:
la source
APL (Dyalog Unicode) , 19 octets SBCS
Méthode de Dennis .
Essayez-le en ligne!
(⊂,1)∊
Est[1]
membre de2↓¨
deux éléments tombés de chacun⊢⊥⍣¯1¨⍨
l'argument représenté dans chacune des bases1↓⍳
on est passé des ɩ ndices 1 à l'argument?la source
Julia , 31 octets
Essayez-le en ligne!
la source
Pyt ,
3533 octetsExplication:
Essayez-le en ligne!
la source
> <> , 42 octets
Essayez-le en ligne!
Retourne
10
pour vrai,00
pour falsey.la source