Der Gewinner (ziemlich offensichtlich) ist Dennis ♦, der Jelly mit 10 Bytes verwendet hat!
Diese Herausforderung wird es hier weiterhin geben, die Ergebnisse werden jedoch nicht mehr berücksichtigt.
Der Antriebsstrang einer Zahl ist ein Konzept von John Conway (der auch für Conways Game of Life bekannt ist, aber darum geht es nicht). Es ist wie folgt definiert:
Für jede Zahl ... ist der Antriebsstrang der Zahl ... (dh jede zweite Ziffer von links nach rechts ist eine Potenz der vorhergehenden Ziffer). Dieser Vorgang wird wiederholt, bis das Ergebnis eine einzelne Ziffer ist.
BEISPIELE
2592 => (2^5)(9^2) = 2592 <= Cannot be further decomposed
135 => (1^3)5 = 5
1234 => (1^2)(3^4) = 81 => (8^1) = 8
1100 => (1^1)(0^0) = 1 # (0^0) = 1
-42 => -42 # Negative numbers output the input
Ihre Herausforderung besteht darin, für eine beliebige Zahl n
in der Eingabe powertrain(n)
(dh n
nachdem die Zerlegung des Antriebsstrangs abgeschlossen ist) als Ausgabe zurückzugeben.
Dies ist Codegolf, daher gewinnt die kürzeste Anzahl an Bytes.
HAFTUNGSAUSSCHLUSS:
- Sie können eine ungerade Anzahl von Ziffern in der Eingabe haben, die letzte Ziffer hat einfach keine Potenz.
- 0 ^ 0 ist 1, denn wenn es 0 wäre, würden viele Zahlen sofort zu 0 oder 1 zusammenfallen.
- Wenn die Zahl in irgendeinem Teil des Berechnungsprozesses unzerstörbar ist (z. B. wenn sie damit endet
2592
), können Sie die Zahl einfach ausgeben. - Wenn die Eingabe
< 10
(dh alle einstelligen Zahlen und Negative) ist, geben Sie die Eingabe aus.
Ich werde wahrscheinlich nach ein paar Stunden einen Gewinner bekannt geben .
Aktuelle Rangliste:
- Jelly ( Dennis ♦ ): 10
- Pyth ( DenkerAffe ): 16
- MATL ( Don Müsli ): 21
- Perl ( Ton Hospel ): 42
- Haskell ( Damien ): 64
- Javascript ES6 ( edc65 ): 71
- Mathematica ( Murphy ): 74
- Mathematica ( LegionMammal978 ) und Haskell ( Renzeee ): 77
- Python 2 ( Mathematiker ): 111
- Python 3 ( Erwan ): 161
- Java 8 ( blau ): 229
- Oracle SQL 11.2 ( Jeto ): 456
- Befunge '93 ( Lex ): 490
1100
und -42
Es ist leicht, Regeln für Randfälle zu übersehen, wenn sie in den Testfällen nicht angezeigt werden.