inspiré par cette conversation de chat
Un nombre satisfaisant est un nombre dont la représentation décimale est de la forme abx
, avec les propriétés suivantes:
x
est le suffixe répété le plus long ou le dernier chiffre s'il n'y a pas de répétition à la fin (123333
->3333
,545656
->5656
,123
->3
)b
est le chiffre unique avantx
(123333
->2
,55545656
->4
)a
est le préfixe restant (123333
->1
,55545656
->555
)a == c**b
(**
dénote l'exponentation), oùc
est le nombre de répétitions de la plus petite portion répétée dex
(1623333
->4
(3 3 3 3
, pas33 33
))
Par exemple, 8300
est un nombre satisfaisant avec a = 8
, b = 3
, c = 2
et x = 00
. 24651
n'est pas un nombre satisfaisant, parce que x = 1
, b = 5
, a = 246
et il n'y a pas entier c
qui satisfait c^5 = 246
. 1222
n'est pas non plus un nombre satisfaisant, car avec x = 222
et b = 1
, il ne reste aucun chiffre pour a
.
Étant donné un entier positif n >= 100
, la sortie est ou non n
un nombre satisfaisant.
Exemples
8300: True (a=8, b=3, c=2, x=00)
24651: False
1222: False
92555: True (a=9, b=2, c=3, x=555)
64633: True (a=64, b=6, c=2, x=33)
512944: True (a=512, b=9, c=2, x=44)
123: True (a=1, b=2, c=1, x=3)
822809: False
376664: False
723799: False
1234: False
34330000000: True (a=343, b=3, c=7, x=0000000)
92313131: True (a=9, b=2, c=3, x=313131)
16424442444: True (a=16, b=4, c=2, x=24442444)
8333
estx,c,b,a=33,2,3,8
donc satisfaisant?x
c'est gourmand.Réponses:
Gelée , 26 octets
se sent trop longtemps
Un lien monadique prenant un entier et retournant
1
si l'entrée est satisfaisante et0
sinon.Essayez-le en ligne! ou voir une suite de tests
Comment?
la source
Python 3 , 141 octets
Essayez-le en ligne!
Python 3 , 144 octets
Essayez-le en ligne!
la sortie se fait via le code de sortie
la source
while
condition pour enregistrer un octet: TIOPerl 6 , 66 octets
Essayez-le en ligne!
la source
Python 3 , 101 octets
Python 3 , 107 octets
La sortie se fait par code de sortie.
Ce code ne fonctionne pas correctement sur Tio en raison d'une erreur de plage. Fonctionne parfaitement dans IDLE.
la source
JavaScript (ES6),
282268 octetsla source
Python 2, 286 octets
yeesh.
N
est une fonction récursive qui trouve le nombre de fois qu'une sous-chaîne de suffixe est répétée dans une chaîne. Cela passe en boucle à travers tous les suffixes possibles, en trouvant le nombre de fois que chacun est répété en utilisantN
; cela exclut toutes les valeurs oùN==1
parce qu'elles ne font référence à aucune répétition; si la liste finit par être vide, le suffixe du dernier caractère est ajouté à la liste.Ensuite, le suffixe le plus long est pris, (
q
), le nombre de caractères qu'il prend est trouvé (i
) eta==c**b
vérifié (print ...
).Si une erreur se produit en cours de route (ce qui arrive souvent), elle est prise dans le
except
bloc.Toutes les suggestions sont plus que bienvenues!
la source