Ponieważ większość narodów korzystających z euro ma ,
separator dziesiętny, musisz go również używać.
Zadaniem jest wyprowadzenie wszystkich wartości monet i banknotów euro w porządku rosnącym. Musisz również umieścić końcowe ,00
wartości całkowite.
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
Akceptuję oba dane wyjściowe na standardowe wyjście lub funkcję zwracającą tablicę / listę. Jeśli wyjście ma być ustawione na standardowe wyjście, dopuszczalne separatory między wartościami to: spacja, tabulator lub znak nowej linii.
Nie będzie żadnej zaakceptowanej odpowiedzi, chyba że zobaczę kogoś, kogo uważam za bardzo kreatywnego.
code-golf , więc chcę znać najkrótszą odpowiedź według języka.
Aktualizacja:
0
Zera wiodące są niedopuszczalne. Przepraszam, powinienem wcześniej to wyjaśnić.
Aktualizacja 2:
Dopuszczalna jest również funkcja zwracająca ciąg znaków.
źródło
000,01
itp.)?Odpowiedzi:
Pure Bash, 48
Wypróbuj online .
źródło
Japt ,
2322 bajtów-1 bajt dzięki @Shaggy
Zwraca tablicę ciągów.
Wypróbuj online! z
-R
flagą do wyświetlania elementów tablicy w osobnych wierszach.źródło
Python 2 , 72 bajty
Wypróbuj online!
Wyrażenie
5>>~x%3
odwzorowuje nieujemne liczby całkowite do1
,2
,5
,1
,2
,5
...To działa, ponieważ
5
,2
,1
są kolejne prawy-bitshifts z5
(0b101
→0b10
→0b1
); przeglądamy je wstecz.źródło
Węgiel drzewny , 36 bajtów
Wypróbuj online! Link jest do pełnej wersji kodu. Wyjaśnienie:
źródło
SOGLOnline offline,
27262524232221 bajtówWypróbuj tutaj!
Link online nie pokazuje końcowych zer, ale wersja offline robi to, ponieważ Java BigDecimals jest fajna.
Wyjaśnienie:
Aby uruchomić interpreter offline, pobierz repozytorium SOGLOnlines , przejdź do kompilatora / interpretera, otwórz dowolny
.pde
plik za pomocą Przetwarzania , a następnie wykonaj plik -> eksportuj dla swojego systemu operacyjnego (w przeciwnym razie nie możesz podać argumentów programowi przetwarzającemu: /), a następnie uruchom skompilowany program z argumentem do ścieżki pliku z kodem. Następnie stdout będzie zawierać ten .2L¼2¹5∙īυ;{⁴Ζ.,ŗP*
dla 18 bajtów prawie działa, ale liczba zerowa rośnie, co powoduje0,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
(nowe wiersze zastąpione spacjami)źródło
,00
wartości całkowite.” (Wyobrażam sobie, że ma to również uwzględniać końcowe, w,0
stosownych przypadkach)Java 8,
1091088180 bajtówDzięki @ OlivierGrégoire za pomysł Locale
Wypróbuj online!
źródło
Locale.setDefault(Locale.FRENCH);
w niekompetentnej części TIO.x->{for(double i=.001;i<11;)System.out.printf("%.2f %.2f %.2f ",i*=10,i*2,5*i);}
Bash , 38 bajtów
Wymaga odpowiedniego ustawienia narodowego, które jest domyślnie dozwolone i nie kosztuje bajtów .
Wypróbuj online!
źródło
APL (Dyalog) ,
3028 bajtówKompletny program Wyjścia są rozdzielane spacjami do STDOUT.
Wypróbuj online!
2 2.5 2
Lista;[2,2.5,2]
14⍴
cyklicznie r eshape do długości 14;[2,2.5,2,2,2.5,2,2,2.5,2,2,2.5,2,2,2.5]
.01
przedkładać 0,01;[0.01,2,2.5,2,2,2.5,2,2,2.5,2,2,2.5,2,2,2.5]
×\
kumulatywne mnożenie;[0.01,0.02,0.05,0.1,0.2,0.5,1,2,5,10,20,50,100,200,500]
2⍕
format z dwoma miejscami po przecinku;" 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"
⊢
otrzymując, że (w celu oddzielenia','
z2
)'\.'⎕R','
PCRE R okresy EUmieãæ przecinkami;" 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"
źródło
R
70, 50 bajtówzainspirowany @Giuseppe:
Wypróbuj tutaj!
Nie golfił
źródło
Pyth , 37 bajtów
Wypróbuj online!
Pyth , 37 bajtów
Skróci się za kilka minut.
Wypróbuj online!
źródło
JavaScript (ES6), 83 bajty
Zwraca tablicę.
Próbny
Pokaż fragment kodu
Wersja rekurencyjna (ES7), 84 bajty
Zwraca ciąg ze spacją końcową.
Próbny
Pokaż fragment kodu
źródło
Python 2 ,
80777573 bajtów-2 bajty dzięki @ Mr.Xcoder
-1 bajtów dzięki @EriktheOutgolfer
-2 bajty dzięki @totallyhuman -2 bajki
dzięki @Lynn
Wypróbuj online!
źródło
Siatkówka , 42 bajty
Wypróbuj online! Objaśnienie: Istnieje piętnaście wartości, z 1, 2 i 5 w każdym z pięciu miejsc. Pierwszy etap wstawia pięć zer. Drugi etap powtarza je w kwadrat, a następnie zmienia ukośną końcową na 1s, a następnie trzykrotnie powiela te linie za pomocą 2 i 5. Trzeci etap wstawia przecinki, a ostatni etap usuwa niepotrzebne zera wiodące.
źródło
Węgiel drzewny , 37 bajtów
Wypróbuj online! Link jest do pełnej wersji.
Tak, kompresja!
źródło
Bash , 88 bajtów
Wypróbuj online!
źródło
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
jest tej samej długości :(JavaScript (ES6), 81 bajtów
Zwraca tablicę.
Próbny
Pokaż fragment kodu
źródło
Common Lisp, 95 bajtów
Wypróbuj online!
źródło
Łuska , 28 bajtów
Wypróbuj online!
Po prostu manipulacja ciągiem, ponieważ Husk jest okropny w formatowaniu liczb zmiennoprzecinkowych.
Wyjaśnienie
źródło
C ++,
138120 bajtów-18 bajtów dzięki MSalters
Wersja na stałe, Lynn, 116 bajtów
źródło
v
if
: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);}
- zaledwie 120 bajtów#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");}
ma 116 bajtów.R ,
7061 bajtówWypróbuj online!
-9 bajtów dzięki Rui Barradas
Outgolfed przez AndriusZ
źródło
print
format(c(1,2,5)*10^rep(-2:2,e=3),ns=2,de=",",sc=9)
print
tej odpowiedzi, ale powinieneś ją opublikować; Właśnie zastosowałem najbardziej barbarzyńską metodę, aby zmienić ustawienia,format
wymagając trochę przemyślenia.options
w jeden.options(OutDec=",",scipen=5)
.C (gcc) , 82 bajty
Wypróbuj online!
źródło
05AB1E , 25 bajtów
Zwraca listę ciągów.
Wypróbuj online.
Wyjaśnienie:
125S5и
może być•}•15∍
(push skompresowany125
; powiększyć go do rozmiaru 15125125125125125
:) i'.',:
może być„.,`:
(push string ".,", pop i popychać znaki jako osobne elementy na stos) dla tej samej liczby bajtów: Wypróbuj online.Ponadto,
N3÷°*т/
można skrócić doN3÷Í°*
(gdzieÍ
odejmuje 2), ale niestety musimy/
więc wszystkie numery staje dziesiętne, natomiast zN3÷Í°*
większości numery pozostaną całkowitymi.źródło
T-SQL, 104 bajty
Podziały linii służą wyłącznie do odczytu.
Irytująco dłuższy niż
PRINT
wersja trywialna (90 bajtów):źródło
Bubblegum , 41 bajtów
Wypróbuj online!
źródło
Siatkówka , 58 bajtów
Wypróbuj online!
źródło
Rubin ,
6662 bajtów4 bajty krótsze dzięki Lynn !
Wypróbuj online!
źródło
-2.upto 2{…}
oszczędza 3 bajty.'%.2f '.%v*10**m
zapisuje jeden bajt (wywołanie%
metody!)C # (.NET Core) , 107 bajtów
Uruchom
źródło
JavaScript - 96 bajtów
Oto nieco dłuższe (98 znaków) podejście funkcjonalne:
źródło
J , 36 bajtów
Wypróbuj online!
źródło
Tcl , 80 bajtów
Wypróbuj online!
Tcl , 90 bajtów
Wypróbuj online!
Wciąż bardzo długo, grając w golfa później!źródło
set i -2;time {lmap c {1 2 5} {puts [regsub \\. [format %.2f [expr $c*1e$i]] ,]};incr i} 5
time
iteracji zamiastlmap
renderowania większej liczby bajtów:set d -3;time {incr d;lmap c {1 2 5} {puts [regsub \\. [format %.2f $c\e$d] ,]}} 5