Bei einer positiven Ganzzahl n wird die n -te Zahl der Euro-Original-Folge ausgegeben.
Berechnung der Sequenz
Diese Sequenz entspricht OEIS A242491 .
Eine Zahl ist Teil dieser Folge, wenn die Zahl aus beliebig vielen verschiedenen Euro-Münzen oder -Noten zusammengesetzt werden kann, jedoch jeweils nur aus einer . Beachten Sie, dass Sie keine Cent berücksichtigen müssen.
Beispiel:
6
wäre in der folge, da es aus einer 1 euro münze und einer 5 euro note bestehen kann.
4
würde NICHT in der Reihenfolge sein, da es nicht mit den gegebenen Anforderungen gebildet werden kann.
Um jedem einen Überblick zu geben, finden Sie hier eine Liste mit Euro-Werten, die Sie berücksichtigen müssen:
1 €, 2 €, 5 €, 10 €, 20 €, 50 €, 100 €, 200 €, 500 €
Beachten Sie, dass diese Sequenz nur von 0 (ja, 0 ist enthalten!) Bis 888 reicht.
Hier sind die ersten 15 Elemente dieser Sequenz:
0, 1, 2, 3, 5, 6, 7, 8, 10, 11, 12, 13, 15, 16, 17, ...
Testfälle
Eingabe -> Ausgabe
2 -> 1
6 -> 6
21 -> 25
33 -> 50
a(1)=1
wie die Oeis-Tabelle indizieren ?N<=512
?0
fürn=0
sie in Ordnung.0->0; 1->1; 5->6; 20->25; 32->50; 511->888
statt1->0; 2->1; 6->6; 21->25; 33->50; 512->888
.Antworten:
Gelee , 7 Bytes
Probieren Sie es online!
Wie es funktioniert
quelle
Python 2 , 32 Bytes
Probieren Sie es online!
Python 2 , 34 Bytes
Probieren Sie es online!
quelle
Schale ,
8 75 BytesProbieren Sie es online! Edit: -3 Bytes dank Zgarb!
Ich habe gehört, dass es geplant ist, in Zukunft
İ€
auf die endliche Reihenfolge[0.01,0.02,0.05,0.1,0.2,0.5,1,2,5,10,...,500]
umzustellen. Sobald dies implementiert ist, sollte der folgende Code eine Byteanzahl von 7 haben:wo
↓6
fällt die ersten sechs Elemente der Sequenz. Probieren Sie es online!quelle
0
s zur Ausgabe hinzufügt ?Σ!Ṗ↑9İ€
sollte ein Byte speichern.İ€
geändert wurde. Dass es zur Zeit zurückkehrt ,2500
anstatt25
lediglich ein Zufall.↑9
, da der Herausforderungstext nicht erwähnt, was für Eingaben über 512 passieren soll.Perl 5 , 29 Bytes
28 Byte Code + 1 für
-p
.Verwendet eine 0-basierte Indizierung.
Probieren Sie es online!
quelle
sprintf"%o",$_-1
, weil die Sequenz zum Beispiel von 1 indexiert ist2 -> 1
, obwohl die OEIS-Sequenz mit 1 beginnt-1
bis OP geklärt!Jelly , 11 Bytes
Probieren Sie es online!
Vielen Dank an @Erik the Outgolfer für viel Hilfe im Chat!
Erläuterung
quelle
Mathematica, 47 Bytes
Mathematica, 48 Bytes
-6 Bytes von Martin Ender
quelle
Join[x={1,2,5},10x,100x]
undSubsets@
.Java 8,
2826 Bytes0-indiziert:
Port von @xnors Python 2-Antwort (die früher gelöscht wurde, daher die ursprüngliche 1-indizierte Antwort unten).
Probieren Sie es hier aus.
Alte 1-indizierte Antwort ( 28 Bytes ):
Port von @Tfelds Python 2-Antwort, bevor er seine letzte Änderung vorgenommen hat . Anstatt
~-
eine Reihe von Zeiten zu verwenden, wird sie direkt nach dem Aufrufen der Lambda-Funktion um 1--n
verringertn
.Probieren Sie es hier aus.
quelle
05AB1E , 7 Bytes
0-indiziert.
Port von Mr. Xcoders Gelee-Antwort
Probieren Sie es online!
Erläuterung
quelle
8в4‰ε5β}J
(0-indiziert)8в4‰J5öJ
für 8 mit Dennis 'Trick. Ihre war in der Tat besser für 05AB1E geeignet :)Python 2 ,
403836 BytesInspiriert von der Antwort von xnor , verwendet jedoch die 1-Indizierung.
Probieren Sie es online!
Python 2 ,
786562615856 BytesProbieren Sie es online!
quelle
a(1)=1
zulässig ist.Gelee , 15 Bytes
0-indiziert.
Probieren Sie es online!
Erläuterung
Dies basiert auf der Python-Lösung von xnor , bei der der Algorithmus n + n / 4 + n / 32 * 10 + n / 256 * 100 ist .
Da das erste n unverändert ist, ist dies dasselbe wie:
Da 4, 32 und 256 Zweierpotenzen sind, können sie in Bitverschiebungen übersetzt werden.
Die Golffreundlichkeit lässt sich in Python nicht gut übersetzen, aber das Umwandeln der Listen in Jelly-Zeichenfolgen von Codepage-Indizes verringert die Byteanzahl von Jelly.
Gelee , 24 Bytes
Probieren Sie es online!
quelle
€
den Code. :) Aber -1, weil dies das erste Mal ist, dass eine Gelee-Antwort länger ist als meine Java-Antwort. XD Schade um dich (und gl & hf golf es weiter). ;)Oktave , 59 Bytes
Probieren Sie es online!
Erläuterung
Der Code erstellt die vollständige Sequenz und indiziert sie anschließend.
Zuerst werden die binären Ausdrücke der Zahlen
0
,1
, ...511
sind als 512 x 9 - Matrix generiert:(Der
-48
Teil wird benötigt, da das Ergebnis ausdec2bin
Zeichen und nicht aus Zahlen besteht.) Das gibtDann wird das Kronecker-Produkt von
[1 2 5]
und[1 10 100]
berechnetund transponiert
Dies ergibt die neun möglichen Euro-Werte als 9 × 1-Vektor:
Matrix-Multiplikation der obigen Matrix und des Vektors
ergibt einen 512 × 1-Vektor mit allen möglichen Zahlen in der Folge, mit Wiederholungen und unsortiert:
Deduplizieren und Sortieren
gibt die vollständige Sequenz an:
Schließlich wird die Eingabe verwendet, um diese Sequenz zu indizieren
um die Ausgabe zu erzeugen.
quelle
Ruby ,
2827 BytesProbieren Sie es online!
Erläuterung
Oktalzeichenfolge ausgeben, Ziffern 4..7 durch 5..8 ersetzen
quelle
Bash + GNU-Dienstprogramme, 20
Liest einen Index mit Nullindex aus STDIN.
Probieren Sie es online aus .
quelle
05AB1E , 20 Bytes
Probieren Sie es online!
1-indiziert, mit der Formel von
[(n%3)^2 + 1]*10^floor(n/3)
, um die ersten 10 Terme zu generieren, dann mit Powerset, um alle möglichen Kombinationen zu berechnen ... Dann sortiere ich es und ziehea[b]
.Sehen Sie es in Aktion unten:
quelle
JavaScript (ES6), 34 Byte
Oder 32 Bytes mit der richtigen 0-Indizierung:
quelle
n=1
geben0
?Gelee , 20 Bytes
Probieren Sie es online!
Ich weiß, das ist länger als die bisherige Antwort, aber ich denke, dieser Ansatz ist von hier aus golfen: P
-2 Bytes dank Erik dem Outgolfer
quelle
1,10,ȷ2
->“¢½d‘
Netzhaut , 42 Bytes
Probieren Sie es online! Link enthält Testfälle. 0-indiziert. Erläuterung:
Konvertiert von dezimal nach unär, mit einem
;
Suffix.In Oktal umwandeln, aber immer noch die unäre Darstellung der Ziffern mit
;
nach jedem unären Wert verwenden.Addiere 1 zu den Werten 4-7.
Konvertieren Sie jeden Wert plus Suffix in Dezimalzahl.
quelle
Pyth , 12 Bytes
Verwendet Dennis 'Hexerei .
Probieren Sie es hier aus.
Pyth ,
16 1513 BytesÜberprüfen Sie alle Testfälle.
Vielen Dank an Erik the Outgofer für einige Ideen.
quelle
C 67 Bytes
Ein direkter Port von Neils JavaScript-Antwort , aber ich dachte, dies sollte der Vollständigkeit halber hinzugefügt werden.
Getestet auf GCC Version 6.3.0. Es wird einige Warnungen auslösen, aber trotzdem kompilieren.
quelle