inspiriert von diesem Chat-Gespräch
Eine zufriedenstellende Zahl ist eine Zahl, deren Dezimaldarstellung die Form abx
mit den folgenden Eigenschaften hat:
x
ist das am längsten nachfolgende Wiederholungssuffix oder die letzte Ziffer, wenn am Ende keine Wiederholung erfolgt (123333
->3333
,545656
->5656
,123
->3
)b
ist die einzelne Ziffer vorx
(123333
->2
,55545656
->4
)a
ist das verbleibende Präfix (123333
->1
,55545656
->555
)a == c**b
(**
bezeichnet Exponentation), wobeic
die Anzahl der Wiederholungen des kleinsten sich wiederholenden Teils vonx
(1623333
->4
(3 3 3 3
, nicht33 33
)) ist.
Zum Beispiel 8300
ist eine befriedigende Zahl mit a = 8
, b = 3
, c = 2
, und x = 00
. 24651
keine befriedigende Zahl ist, weil x = 1
, b = 5
, a = 246
, und es gibt keine ganze Zahl ist, c
dass erfüllt c^5 = 246
. 1222
ist auch keine zufriedenstellende Zahl, da mit x = 222
und b = 1
keine verbleibenden Ziffern für vorhanden sind a
.
Geben Sie bei einer positiven Ganzzahl aus n >= 100
, ob n
eine zufriedenstellende Zahl vorliegt oder nicht .
Beispiele
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
istx,c,b,a=33,2,3,8
und daher befriedigend?x
ist gierig.Antworten:
Gelee , 26 Bytes
fühlt sich zu lang an
Eine monadische Verbindung, die eine Ganzzahl nimmt und zurückgibt,
1
wenn die Eingabe zufriedenstellend ist und0
wenn nicht.Probieren Sie es online aus! oder sehen Sie sich eine Testsuite an
Wie?
quelle
Python 3 , 141 Bytes
Probieren Sie es online aus!
Python 3 , 144 Bytes
Probieren Sie es online aus!
Die Ausgabe erfolgt über den Exit-Code
quelle
while
Bedingung ändern , um ein Byte zu speichern: TIOPerl 6 , 66 Bytes
Probieren Sie es online aus!
quelle
Python 3 , 101 Bytes
Python 3 , 107 Bytes
Die Ausgabe erfolgt per Exit-Code.
Dieser Code wird auf Tio aufgrund eines Bereichsfehlers nicht ordnungsgemäß ausgeführt. Funktioniert perfekt im Leerlauf.
quelle
JavaScript (ES6),
282268 Bytequelle
Python 2, 286 Bytes
ja.
N
ist eine rekursive Funktion, die ermittelt, wie oft ein Suffix-Teilstring in einer Zeichenfolge wiederholt wird. Dies durchläuft im Grunde alle möglichen Suffixe und ermittelt, wie oft jedes wiederholt wirdN
. Dies schließt alle Werte aus, bei denenN==1
sie sich auf keine Wiederholungen beziehen. Wenn die Liste leer ist, wird das Suffix des letzten Zeichens an die Liste angehängt.Dann wird das längste Suffix verwendet (
q
), die Anzahl der aufgenommenen Zeichen wird gefunden (i
) unda==c**b
überprüft (print ...
).Wenn unterwegs ein Fehler auftritt (was häufig der Fall ist), wird er im
except
Block abgefangen .Anregungen sind herzlich willkommen!
quelle