Da die meisten Nationen, die den Euro ,
verwenden, das Dezimaltrennzeichen verwenden, müssen Sie es auch verwenden.
Die Aufgabe besteht darin, alle Werte der Euro-Münzen und -Noten in aufsteigender Reihenfolge auszugeben. Sie müssen auch das Trailing ,00
auf die Integer-Werte setzen.
0,01 0,02 0,05 0,10 0,20 0,50 1,00 2,00 5,00 10,00 20,00 50,00 100,00 200,00 500,00
Ich akzeptiere sowohl die Ausgabe auf stdout als auch eine Funktion, die ein Array / eine Liste zurückgibt. Wenn die Ausgabe auf stdout eingestellt ist, sind die zulässigen Trennzeichen zwischen den Werten: Leerzeichen, Tabulator oder Zeilenvorschub.
Es wird keine akzeptierte Antwort geben, es sei denn, ich sehe jemanden, den ich sehr kreativ finde.
Code-Golf , also möchte ich die kürzeste Antwort nach Sprache wissen.
Aktualisieren:
Führende 0
Nullen sind nicht zulässig. Entschuldigung, ich sollte es vorher klarstellen.
Update 2:
Es ist auch akzeptabel, dass eine Funktion eine Zeichenfolge zurückgibt.
quelle
000,01
etc.)?Antworten:
Pure Bash, 48
Probieren Sie es online aus .
quelle
Japt ,
2322 Bytes-1 Byte dank @Shaggy
Gibt ein Array von Zeichenfolgen zurück.
Probieren Sie es online! mit dem
-R
Flag, um Array-Elemente in separaten Zeilen auszugeben.quelle
Python 2 , 72 Bytes
Probieren Sie es online!
Der Ausdruck
5>>~x%3
bildet die nicht-negativen ganzen Zahlen1
,2
,5
,1
,2
,5
...Es funktioniert , weil
5
,2
,1
sind die aufeinanderfolgenden rechten bitshifts von5
(0b101
→0b10
→0b1
); wir fahren rückwärts durch sie hindurch.quelle
Kohle , 36 Bytes
Probieren Sie es online! Link ist eine ausführliche Version des Codes. Erläuterung:
quelle
SOGLOnline offline,
27262524232221 BytesProbieren Sie es hier aus!
Der Online-Link zeigt keine nachgestellten Nullen an, die Offline-Version hingegen, da Javas BigDecimals nett sind.
Erläuterung:
Um den Offline-Interpreter auszuführen , laden Sie das SOGLOnlines-Repository herunter , gehen Sie zu Compiler / Interpreter, öffnen Sie eine der
.pde
Dateien mit Processing und führen Sie dann den Befehl file -> export für Ihr Betriebssystem aus (andernfalls können Sie einem Processing-Programm keine Argumente geben: /). Führen Sie anschließend das kompilierte Programm mit einem Argument zum Pfad der Datei mit dem Code aus. Dann wird, stdout enthalten diese .2L¼2¹5∙īυ;{⁴Ζ.,ŗP*
für 18 Bytes funktioniert fast, aber die Null wächst, was dazu führt, dass0,01 0,02 0,050 0,100 0,200 0,5000 1,0000 2,0000 5,00000 10,00000 20,00000 50,000000 100,000000 200,000000 500,0000000
(Zeilenumbrüche durch Leerzeichen ersetzt werden)quelle
,00
auf die Integer-Werte setzen." (Ich stelle mir vor, dass dies,0
gegebenenfalls auch das Nachziehen beinhalten soll )Java 8,
1091088180 BytesVielen Dank an @ OlivierGrégoire für die Locale-Idee
Probieren Sie es online!
quelle
Locale.setDefault(Locale.FRENCH);
im nicht-kompetitiven Teil des TIO.x->{for(double i=.001;i<11;)System.out.printf("%.2f %.2f %.2f ",i*=10,i*2,5*i);}
Bash , 38 Bytes
Erfordert ein geeignetes Gebietsschema, das standardmäßig zulässig ist und keine Bytes kostet .
Probieren Sie es online!
quelle
APL (Dyalog) ,
3028 BytesKomplettes Programm. Ausgänge nach STDOUT durch Leerzeichen getrennt.
Probieren Sie es online!
2 2.5 2
Die Liste;[2,2.5,2]
14⍴
zyklisch r eshape auf Länge 14;[2,2.5,2,2,2.5,2,2,2.5,2,2,2.5,2,2,2.5]
.01
voranstellen 0,01;[0.01,2,2.5,2,2,2.5,2,2,2.5,2,2,2.5,2,2,2.5]
×\
kumulative Multiplikation;[0.01,0.02,0.05,0.1,0.2,0.5,1,2,5,10,20,50,100,200,500]
2⍕
Format mit zwei Dezimalstellen;" 0.01 0.02 0.05 0.10 0.20 0.50 1.00 2.00 5.00 10.00 20.00 50.00 100.00 200.00 500.00"
⊢
ergeben , daß (getrennt','
von2
)'\.'⎕R','
PCRE R eplace Perioden mit Komma;" 0,01 0,02 0,05 0,10 0,20 0,50 1,00 2,00 5,00 10,00 20,00 50,00 100,00 200,00 500,00"
quelle
R
70, 50 Bytesinspiriert von @Giuseppe:
Probieren Sie es hier aus!
Ungolfed
quelle
Pyth , 37 Bytes
Probieren Sie es online!
Pyth , 37 Bytes
Verkürzt sich in wenigen Minuten.
Probieren Sie es online!
quelle
JavaScript (ES6), 83 Byte
Gibt ein Array zurück.
Demo
Code-Snippet anzeigen
Rekursive Version (ES7), 84 Byte
Gibt eine Zeichenfolge mit einem Leerzeichen zurück.
Demo
Code-Snippet anzeigen
quelle
Python 2 ,
80777573 Bytes-2 Bytes dank @ Mr.Xcoder
-1 Bytes dank @EriktheOutgolfer
-2 Bytes dank @totallyhuman
-2 Bytes dank @Lynn
Probieren Sie es online!
quelle
Netzhaut , 42 Bytes
Probieren Sie es online! Erläuterung: Es gibt fünfzehn Werte mit 1, 2 und 5 an jeweils fünf Stellen. Die erste Stufe fügt fünf Nullen ein. Die zweite Stufe wiederholt sie zu einem Quadrat, ändert dann die abschließende Diagonale in 1 und dupliziert diese Zeilen dreimal mit 2 und 5. Die dritte Stufe fügt die Kommas ein und die letzte Stufe entfernt unnötige führende Nullen.
quelle
Kohle , 37 Bytes
Probieren Sie es online! Link ist zur ausführlichen Version.
Ja, Kompression!
quelle
Bash , 88 Bytes
Probieren Sie es online!
quelle
echo 0,01 0,02 0,05 0,10 0,20 0,50 1,00 2,00 5,00 10,00 20,00 50,00 100,00 200,00 500,00
ist die gleiche Länge :(JavaScript (ES6), 81 Byte
Gibt ein Array zurück.
Demo
Code-Snippet anzeigen
quelle
Common Lisp, 95 Bytes
Probieren Sie es online!
quelle
Schale , 28 Bytes
Probieren Sie es online!
Nur String-Manipulation, da Husk das Formatieren von Gleitkommazahlen fürchterlich macht.
Erläuterung
quelle
C ++,
138120 Bytes-18 Bytes dank MSalters
Hardcodierte Version von Lynn, 116 Bytes
quelle
v
undf
:void p(){for(auto&a:{"0,0%d ","0,%d0 ","%d,00 ","%d0,00 ","%d00,00 "})for(int b:{1,2,5})printf(a,b);}
- nur 120 Bytes#include<ios>void p(){puts("0,01 0,02 0,05 0,10 0,20 0,50 1,00 2,00 5,00 10,00 20,00 50,00 100,00 200,00 500,00");}
ist 116 Bytes.R ,
7061 BytesProbieren Sie es online!
-9 Bytes dank Rui Barradas
Von AndriusZ outgolfed
quelle
print
format(c(1,2,5)*10^rep(-2:2,e=3),ns=2,de=",",sc=9)
print
Antwort, aber du solltest sie selbst posten. Ich habe gerade die barbarischste Methode angewendet, um die Einstellungen zu ändern, wobei ichformat
einige tatsächliche Überlegungen angestellt habe.options
zu einem kombinieren .options(OutDec=",",scipen=5)
.C (gcc) , 82 Bytes
Probieren Sie es online!
quelle
05AB1E , 25 Bytes
Gibt eine Liste von Zeichenfolgen zurück.
Probieren Sie es online aus.
Erläuterung:
125S5и
werden könnte•}•15∍
(push komprimiert125
; vergrößern zu Größe 15:125125125125125
) und'.',:
könnte„.,`:
(Push - string „“, Pop und die Zeichen als getrennte Elemente auf den Stapel schieben) für den gleichen Byte-count: Versuchen Sie es online.Auch
N3÷°*т/
kann verkürztN3÷Í°*
(woÍ
Subtraktionen 2), aber leider müssen wir das/
so alle Zahlen werden Dezimalstellen, während bei denN3÷Í°*
meisten Zahlen ganze Zahlen bleiben.quelle
T-SQL, 104 Bytes
Zeilenumbrüche dienen nur der Lesbarkeit.
Ärgerlich länger als die Trivialversion
PRINT
(90 Bytes):quelle
Bubblegum , 41 Bytes
Probieren Sie es online!
quelle
Netzhaut , 58 Bytes
Probieren Sie es online!
quelle
Ruby ,
6662 Bytes4 Bytes kürzer dank Lynn !
Probieren Sie es online!
quelle
-2.upto 2{…}
Spart 3 Bytes.'%.2f '.%v*10**m
spart ein Byte (Aufruf der%
Methode!)C # (.NET Core) , 107 Byte
Starte es
quelle
JavaScript - 96 Bytes
Und hier ist ein etwas längerer (98 Zeichen) funktionaler Ansatz:
quelle
J , 36 Bytes
Probieren Sie es online!
quelle
Tcl , 80 Bytes
Probieren Sie es online!
Tcl , 90 Bytes
Probieren Sie es online!
Immer noch sehr lange, später mehr Golf spielen!quelle
set i -2;time {lmap c {1 2 5} {puts [regsub \\. [format %.2f [expr $c*1e$i]] ,]};incr i} 5
time
, um zu iterieren, anstattlmap
mehr Bytes zuset d -3;time {incr d;lmap c {1 2 5} {puts [regsub \\. [format %.2f $c\e$d] ,]}} 5