Comme la majorité des pays utilisant l'euro ont le ,
séparateur décimal, vous devez également l'utiliser.
La tâche consiste à sortir toutes les valeurs des pièces et billets en euros dans l'ordre croissant. Vous devez également mettre la fin ,00
sur les valeurs entières.
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
J'accepte les deux sorties vers stdout ou une fonction renvoyant un tableau / liste. Si la sortie est vers stdout, les séparateurs acceptables entre les valeurs sont: espace, tabulation ou retour à la ligne.
Il n'y aura pas de réponse acceptée, sauf si je vois quelqu'un que je trouve très créatif.
code-golf , donc je veux connaître la réponse la plus courte par langue.
Mise à jour:
Les 0
zéros non significatifs ne sont pas acceptables. Désolé, je devrais être clair avant.
Mise à jour 2:
Il est également acceptable une fonction renvoyant une chaîne.
000,01
etc.)?Réponses:
Pure Bash, 48
Essayez-le en ligne .
la source
Japt ,
2322 octets-1 octet grâce à @Shaggy
Renvoie un tableau de chaînes.
Essayez-le en ligne! avec le
-R
drapeau à des éléments de réseau de sortie sur des lignes séparées.la source
Python 2 , 72 octets
Essayez-le en ligne!
L'expression
5>>~x%3
mappe les entiers non négatifs1
,2
,5
,1
,2
,5
...Cela fonctionne parce que
5
,2
,1
sont les bons-bitshifts successives de5
(0b101
→0b10
→0b1
); nous les parcourons à l'envers.la source
Fusain , 36 octets
Essayez-le en ligne! Le lien est vers la version détaillée du code. Explication:
la source
SOGLOnline offline,
27262524232221 octetsEssayez-le ici!
Le lien en ligne n'affiche pas de zéros à la fin, mais la version hors ligne fait que Javas BigDecimals est agréable.
Explication:
POUR s'exécuter dans l'interpréteur hors ligne, téléchargez le référentiel SOGLOnlines , accédez au compilateur / interprète, ouvrez l'un des
.pde
fichiers avec Traitement , puis faites le fichier -> exporter pour votre système d'exploitation (sinon vous ne pouvez pas donner d'arguments à un programme de traitement: /), puis exécutez le programme compilé avec un argument sur le chemin du fichier avec le code. Ensuite, stdout contiendra ceci .2L¼2¹5∙īυ;{⁴Ζ.,ŗP*
pour 18 octets fonctionne presque mais le montant zéro augmente, ce qui entraîne0,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
(les nouvelles lignes sont remplacées par des espaces)la source
,00
sur les valeurs entières." (J'imagine que cela est également destiné à inclure le suivi le,0
cas échéant)Java 8,
1091088180 octetsMerci à @ OlivierGrégoire pour l'idée Locale
Essayez-le en ligne!
la source
Locale.setDefault(Locale.FRENCH);
dans la partie non compétitive du TIO.x->{for(double i=.001;i<11;)System.out.printf("%.2f %.2f %.2f ",i*=10,i*2,5*i);}
Bash , 38 octets
Nécessite un environnement local approprié, qui est autorisé par défaut et ne coûte aucun octet .
Essayez-le en ligne!
la source
APL (Dyalog) ,
3028 octetsProgramme complet. Sorties séparées par des espaces vers STDOUT.
Essayez-le en ligne!
2 2.5 2
la liste;[2,2.5,2]
14⍴
cyclique r Eshape de longueur 14;[2,2.5,2,2,2.5,2,2,2.5,2,2,2.5,2,2,2.5]
.01
ajouter 0,01;[0.01,2,2.5,2,2,2.5,2,2,2.5,2,2,2.5,2,2,2.5]
×\
multiplication cumulative;[0.01,0.02,0.05,0.1,0.2,0.5,1,2,5,10,20,50,100,200,500]
2⍕
format avec deux décimales;" 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"
⊢
donner que (à séparer','
de2
)'\.'⎕R','
PCRE R Les périodes de EPlacez par des virgules;" 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"
la source
R
70, 50 octetsinspiré par @Giuseppe:
Essayez-le ici!
Non golfé
la source
Pyth , 37 octets
Essayez-le en ligne!
Pyth , 37 octets
Raccourcira dans quelques minutes.
Essayez-le en ligne!
la source
JavaScript (ES6), 83 octets
Renvoie un tableau.
Démo
Afficher l'extrait de code
Version récursive (ES7), 84 octets
Renvoie une chaîne avec un espace de fin.
Démo
Afficher l'extrait de code
la source
Python 2 ,
80777573 octets-2 octets grâce à @ Mr.Xcoder
-1 octets grâce à @EriktheOutgolfer
-2 octets grâce à @totallyhuman
-2 octets grâce à @Lynn
Essayez-le en ligne!
la source
Rétine , 42 octets
Essayez-le en ligne! Explication: Il existe quinze valeurs, avec 1, 2 et 5 à chacun des cinq emplacements. La première étape insère cinq 0. La deuxième étape les répète en carré, puis change la diagonale de fin en 1, puis duplique ces lignes trois fois avec 2 et 5. La troisième étape insère les virgules et la dernière étape supprime les zéros de tête inutiles.
la source
Fusain , 37 octets
Essayez-le en ligne! Le lien est vers la version détaillée.
Ouais, la compression!
la source
Bash , 88 octets
Essayez-le en ligne!
la source
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
c'est la même durée :(JavaScript (ES6), 81 octets
Renvoie un tableau.
Démo
Afficher l'extrait de code
la source
Lisp commun, 95 octets
Essayez-le en ligne!
la source
Husk , 28 octets
Essayez-le en ligne!
Juste une manipulation de chaîne, car Husk est terrible pour formater les nombres à virgule flottante.
Explication
la source
C ++,
138120 octets-18 octets grâce à MSalters
Version codée en dur, par Lynn, 116 octets
la source
v
etf
: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);}
- seulement 120 octets#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");}
est de 116 octets.R ,
7061 octetsEssayez-le en ligne!
-9 octets grâce à Rui Barradas
Outgolfed par AndriusZ
la source
print
format(c(1,2,5)*10^rep(-2:2,e=3),ns=2,de=",",sc=9)
print
autour de cette réponse, mais vous devez l'afficher vous-même; Je viens d'utiliser la méthode la plus barbare pour modifier les paramètres, en utilisantformat
la réflexion nécessaire.options
en un.options(OutDec=",",scipen=5)
.C (gcc) , 82 octets
Essayez-le en ligne!
la source
05AB1E , 25 octets
Renvoie une liste de chaînes.
Essayez-le en ligne.
Explication:
125S5и
pourrait être•}•15∍
(push compressé125
; agrandissez-le à la taille 15:)125125125125125
et'.',:
pourrait être„.,`:
(push string ".,", pop et push les caractères en tant qu'éléments séparés dans la pile) pour le même nombre d'octets: Essayez-le en ligne.En outre,
N3÷°*т/
peut être raccourci àN3÷Í°*
(oùÍ
soustrait 2), mais malheureusement, nous avons besoin de/
tous les nombres deviennent des décimales, alors que laN3÷Í°*
plupart des nombres restent des nombres entiers.la source
T-SQL, 104 octets
Les sauts de ligne sont uniquement pour la lisibilité.
Plus ennuyeux que la
PRINT
version triviale (90 octets):la source
Bubblegum , 41 octets
Essayez-le en ligne!
la source
Rétine , 58 octets
Essayez-le en ligne!
la source
Rubis ,
6662 octets4 octets de moins grâce à Lynn !
Essayez-le en ligne!
la source
-2.upto 2{…}
enregistre 3 octets.'%.2f '.%v*10**m
enregistre un octet (appelant la%
méthode!)C # (.NET Core) , 107 octets
Exécuter
la source
JavaScript - 96 octets
Et voici une approche fonctionnelle légèrement plus longue (98 caractères):
la source
J , 36 octets
Essayez-le en ligne!
la source
Tcl , 80 octets
Essayez-le en ligne!
Tcl , 90 octets
Essayez-le en ligne!
Encore très long, le golf plus tard!la source
set i -2;time {lmap c {1 2 5} {puts [regsub \\. [format %.2f [expr $c*1e$i]] ,]};incr i} 5
time
pour itérer au lieu delmap
rend plus d'octets:set d -3;time {incr d;lmap c {1 2 5} {puts [regsub \\. [format %.2f $c\e$d] ,]}} 5