यूरो सिक्के और नोट


26

यूरो का उपयोग करने वाले अधिकांश देशों ,में दशमलव विभाजक के रूप में, आपको इसका भी उपयोग करना होगा।

कार्य आरोही सिक्कों और नोट्स के सभी मूल्यों को आरोही क्रम में आउटपुट करना है। आपको ,00पूर्णांक मानों पर अनुगामी भी रखना होगा ।

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

मैं दोनों आउटपुट को stdout या किसी अरै / लिस्ट को वापस करने वाले फ़ंक्शन को स्वीकार करता हूं। यदि आउटपुट को रोकना है, तो मानों के बीच स्वीकार्य विभाजक हैं: स्थान, टैब या न्यूलाइन।

कोई भी स्वीकृत उत्तर नहीं होगा, जब तक कि मैं किसी को नहीं देखता, मुझे बहुत रचनात्मक लगता है।

, इसलिए मैं भाषा द्वारा सबसे छोटा उत्तर जानना चाहता हूं।

अद्यतन करें:

अग्रणी 0शून्य स्वीकार्य नहीं हैं। क्षमा करें, मुझे इसे पहले ही स्पष्ट कर देना चाहिए।

अपडेट 2:

यह एक स्ट्रिंग लौटाने वाले फ़ंक्शन को भी स्वीकार्य है।


1
क्या कोई अनुगामी स्थान हो सकता है?
dzaima

1
@ दज़िमा: हाँ। :)
सेरगिल

1
क्या अग्रणी शून्य स्वीकार्य हैं (जैसे 000,01आदि)?
जोनाथन एलन

8
स्वीकृत उत्तर वह उत्तर है जो चुनौती जीतता है। आप या तो सबसे छोटा उत्तर स्वीकार कर सकते हैं या कोई जवाब नहीं, लेकिन एक मनमाना नहीं।
डेनिस

2
@ केविनक्रूजसेन: संदर्भ के लिए डेनिस का उत्तर देखें: कोडगॉल्फ.स्टैकएक्सचेंज.com
a

जवाबों:


27

शुद्ध बैश, ४ 48

s={1,2,5}
eval echo 0,0$s 0,${s}0 ${s}{,0,00},00

इसे ऑनलाइन आज़माएं


बहुत बढ़िया! आपको चेक मार्क मिल गया!
सेगिओल

3
मैंने कभी भी इस पैटर्न पर ध्यान नहीं दिया ... और मैं 15 वर्षों से मुद्रा का उपयोग कर रहा हूं ..
स्टीफन बिजिटिटर

@StephanBijzitter जैसी कई मुद्राएं काम करती हैं।
निदेज्ज्कोब

7

जाप , 23 22 बाइट्स

-1 बाइट @ शुगी को धन्यवाद

5Æ#}ì ®eX-2 x2 d".,"
c

स्ट्रिंग्स की एक सरणी देता है।

इसे ऑनलाइन आज़माएं! -Rध्वज के साथ अलग-अलग लाइनों पर सरणी आइटम को आउटपुट करने के लिए।


22 बाइट्स के लिए बहुस्तरीय जाओ ।
झबरा

7

पायथन 2 , 72 बाइट्स

print[('%.2f'%(10**(x/3-2)*(5>>~x%3))).replace(*'.,')for x in range(15)]

इसे ऑनलाइन आज़माएं!

अभिव्यक्ति 5>>~x%3के लिए गैर नकारात्मक पूर्णांक नक्शे 1, 2, 5, 1, 2, 5...

यह काम करता है क्योंकि 5, 2, 1के लगातार राइट bitshifts हैं 5( 0b1010b100b1); हम उनके पीछे से होकर आगे बढ़ते हैं।


6

चारकोल , 36 बाइट्स

EE×125⁵⁺⁺×0⁻²÷κ³ι×0÷κ³⁺⁺✂ι⁰±²¦¹,✂ι±²

इसे ऑनलाइन आज़माएं! लिंक कोड के वर्बोज़ संस्करण के लिए है। स्पष्टीकरण:

   125                                  String `125`
  ×   ⁵                                 Repeated 5 times
 E                                      Map over each character
              ÷κ³   ÷κ³                 Integer divide loop index by 3
            ⁻²                          Subtract from 2
          ×0      ×0                    Repeat the string `0` x times
        ⁺⁺       ι                      Concatenate with the character
E                                       Map over each resulting string
                         ✂ι⁰±²¦¹        Slice off the last two digits
                                ✂ι±²    Extract the last two digits
                       ⁺⁺       ,       Concatenate with a comma
                                        Implicitly print one per line

6

SOGLOnline ऑफ़लाइन, 27 26 25 24 23 22 21 बाइट्स

252¹5∙īυ;{⁴Ζ.,ŗP*F⁾?½

यह कोशिश करो!

ऑनलाइन लिंक ट्रेलिंग जीरो को प्रदर्शित नहीं करता है, लेकिन ऑफ़लाइन संस्करण के रूप में Javas BigDecimals अच्छा कर रहे हैं।

स्पष्टीकरण:

252¹5∙īυ;{⁴Ζ.,ŗP*F⁾?½
252¹                 push the array [2, 5, 2]
    5∙               multiply vertically by 5
      īυ;            push 0.01 below that - the main number
         {           iterate over that array - [2,5,2,2,5,2,2,5,2,2,5,2,2,5,2]
          ⁴            duplicate the main number
           Ζ.,ŗ        replace "." with ","
               P       output in a new line
                *      multiply the main number with the current item of the array
                 F⁾?   if the current array item-2 isn't 0, then
                    ½    divide by 2

ऑफ़लाइन दुभाषिया में चलने के लिए, SOGLOnlines रिपॉजिटरी डाउनलोड करें , कंपाइलर / दुभाषिया पर जाएं, प्रसंस्करण के.pde साथ किसी भी फाइल को खोलें , फिर फाइल करें -> अपने ओएस के लिए निर्यात करें (अन्यथा आप किसी प्रोसेसिंग प्रोग्राम / / के लिए तर्क नहीं दे सकते),), और फिर कोड के साथ फ़ाइल के पथ पर एक तर्क के साथ संकलित कार्यक्रम को निष्पादित करें। फिर, स्टडआउट में यह शामिल होगा

2L¼2¹5∙īυ;{⁴Ζ.,ŗP*18 बाइट के लिए लगभग काम करता है, लेकिन शून्य राशि बढ़ती है, जिसके परिणामस्वरूप 0,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(नए स्थान के साथ प्रतिस्थापित)


2
आउटपुट स्वरूप गलत: "आपको ,00पूर्णांक मानों पर अनुगामी भी रखना चाहिए ।" (मुझे लगता है कि यह भी ,0जहां उपयुक्त है अनुगामी को शामिल करने का इरादा है )
जोनाथन एलन

आपको @JonathanAllan के अवलोकन के अनुसार अपनी पोस्ट को ठीक करना चाहिए।
जोनाथनअलन

@JonathanAllan: हम्म्फ़, मैं आपकी टिप्पणी नमक के दाने के साथ लेता हूं। पोस्ट लेखक का कहना है: " ऑनलाइन लिंक अनुगामी शून्य प्रदर्शित नहीं करता है, लेकिन ऑफलाइन संस्करण के रूप में Javas BigDecalsals अच्छे हैं। " इसलिए मेरे पास यह जांचने का कोई तरीका नहीं है कि स्क्रिप्ट ऑफ़लाइन संस्करण पर अच्छा व्यवहार करती है या नहीं।
सर्गियोल

@sergiol आह, मुझे वह पाठ याद आ गया। मुझे आश्चर्य है कि इस संबंध में ऑनलाइन दुभाषिया को अलग तरीके से क्यों लागू किया गया है - डीज़िमा ...?
जोनाथन एलन

मेरा मानना ​​है कि ऑनलाइन दुभाषिया जावास्क्रिप्ट में लिखा गया है जबकि ऑफ़लाइन एक प्रसंस्करण में लिखा गया है। इसके अलावा समाधान ऑनलाइन परीक्षण करने योग्य नहीं है । : पी
पूरी तरह से

6

जावा 8, 109 108 81 80 बाइट्स

लोकेल विचार के लिए @ ओलिवियरग्रेयर को धन्यवाद

x->{for(double i=.001;i<11;)System.out.printf("%.2f %.2f %.2f ",i*=10,i*2,5*i);}

इसे ऑनलाइन आज़माएं!


आप एक अप्रयुक्त पैरामीटर (इस पर मेटा पोस्ट) पर स्विच करके एक बाइट को बचा सकते हैं : इसे ऑनलाइन आज़माएं
जस्टिन मैरिनर


2
81 बाइट्स । मेरे सिस्टम पर काम करता है क्योंकि मेरा डिफ़ॉल्ट स्थान be_FR है। "मेरे सिस्टम पर काम" काफी अच्छा है। मुझे इससे जुड़ी मेटा-पोस्ट नहीं मिल रही है, लेकिन आप इसका उपयोग कर सकते हैं। इसे अनुकरण करने के लिए, बस Locale.setDefault(Locale.FRENCH);TIO के गैर-प्रतिस्पर्धी भाग में होना चाहिए।
ओलिवियर ग्रेगोइरे

1
@ OlivierGrégoire यहां प्रासंगिक मेटा-पोस्ट है , और आप वास्तव में सही हैं कि इसकी अनुमति है। मैंने ओपी को सत्यापित करने के लिए भी कहा, और उसने मुझे इस मेटा पोस्ट के लिंक के साथ डेनिस के उत्तर से जोड़ा ।
केविन क्रूजेसेन

1
80 बाइट्स:x->{for(double i=.001;i<11;)System.out.printf("%.2f %.2f %.2f ",i*=10,i*2,5*i);}
नेवई

5

बैश , 38 बाइट्स

printf %.2f\\n {1,2,5}e{-2..2}|sort -h

एक उपयुक्त लोकेल की आवश्यकता होती है, जिसे डिफ़ॉल्ट रूप से अनुमति दी जाती है और कोई बाइट खर्च नहीं होती है

इसे ऑनलाइन आज़माएं!


आउटपुट आरोही क्रम का सम्मान नहीं कर रहा है!
सर्गियोल

जब मैंने एक बाइट को बचाने के लिए नई जगहों से स्विच किया तो मैंने इसे तोड़ दिया। अब तय हो गया।
डेनिस

5

एपीएल (डायलॉग) , 30 28 बाइट्स

पूरा कार्यक्रम। STDOUT में अंतरिक्ष-अलग करने के लिए आउटपुट।

'\.'R','2⍕×\.01,142 2.5 2

इसे ऑनलाइन आज़माएं!

2 2.5 2 सूचि;
[2,2.5,2]

14⍴ चक्रीय रूप से r eshape to length 14;
[2,2.5,2,2,2.5,2,2,2.5,2,2,2.5,2,2,2.5]

.01 Prepend 0.01;
[0.01,2,2.5,2,2,2.5,2,2,2.5,2,2,2.5,2,2,2.5]

×\ संचयी गुणन;
[0.01,0.02,0.05,0.1,0.2,0.5,1,2,5,10,20,50,100,200,500]

2⍕ दो दशमलव के साथ प्रारूप;
" 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"

 उपज है कि (अलग करने के लिए ','से 2)

'\.'⎕R',' PCRE आर अल्पविरामों से eplace अवधि;
" 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"


4

आर 70 , 50 बाइट्स

@Giuseppe से प्रेरित:

format(c(1,2,5)*10^rep(-2:2,e=3),ns=2,de=",",sc=F)

यहाँ कोशिश करो!

Ungolfed

format(c(1,2,5)*10^rep(-2:2, each = 3),
   nsmall = 2, 
   decimal.mark = ",",
   scientific = FALSE)

मैं एक ही विधि का उपयोग करके केवल 56 का प्रबंधन कर सकता था, बस प्रतिनिधि () के बजाय एक टी (बाहरी ()) के साथ। सुनिश्चित नहीं हैं कि हमें अनुमति दी गई है कि प्रमुख व्हाट्सएप, हालांकि, जिसे ठीक करने के लिए 4 बाइट्स खर्च होंगे।
क्रिमिनल


3

जावास्क्रिप्ट (ईएस 6), 83 बाइट्स

एक सरणी देता है।

_=>[...'125'.repeat(k=5)].map(c=>(c*(c-1?k:k*=10)/5e3).toFixed(2).split`.`.join`,`)

डेमो


पुनरावर्ती संस्करण (ES7), 84 बाइट्स

पीछे एक स्ट्रिंग एक पीछे चल स्थान के साथ।

f=(i=0)=>i<15?('125'[i%3]/100*10**(i/3|0)).toFixed(2).split`.`.join`,`+' '+f(i+1):''

डेमो


3

पायथन 2 , 80 77 75 73 बाइट्स

-2 बाइट्स @ Mr.Xcoder
-1 बाइट की बदौलत @EriktheOutgolfer
-2 बाइट्स की बदौलत @totallyhuman
-2 बाइट्स की बदौलत @Lynn को धन्यवाद

print[('%.2f'%(v*m)).replace(*'.,')for m in.01,.1,1,10,100for v in 1,2,5]

इसे ऑनलाइन आज़माएं!


@EriktheOutgolfer रिक्त स्थान निकालना भूल जाता है
श्री एक्सकोडर

मैं यह निर्दिष्ट करना भूल गया कि मूल्यों के बीच किस प्रकार का विभाजक स्वीकार्य है। चिंता मत करो, newline स्वीकार्य है।
सेगियोल

2

रेटिना , 42 बाइट्स


5$*0
0
$'1$`¶$'2$`¶$'5$`¶
..¶
,$&
m`^00?

इसे ऑनलाइन आज़माएं! व्याख्या: प्रत्येक पाँच स्थानों में १, २ और ५ के साथ पंद्रह मूल्य हैं। पहला चरण पाँच ० अंक सम्मिलित करता है। दूसरा चरण उन्हें एक वर्ग में दोहराता है, फिर अनुगामी विकर्ण को 1s में बदलता है, फिर उन पंक्तियों को 2 और 5 के साथ तीन बार दोहराता है। तीसरा चरण अल्पविराम सम्मिलित करता है और अंतिम चरण अनावश्यक अग्रणी शून्य को हटाता है।



1

बैश , 88 बाइट्स

s=125
for i in {0..14};{ printf %1.2f\  `bc<<<"scale=2;${s:i%3:1}*10^$[i/3-2]"`|tr . ,;}

इसे ऑनलाइन आज़माएं!


3
आखिरकार इतनी मेहनत, 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एक ही लंबाई है :(
डिजिटल ट्रॉमा

@ डिजीटलट्रूमा लेकिन यह कोई मजेदार बात नहीं है: पी
जस्टिन मैरिनर

1

जावास्क्रिप्ट (ईएस 6), 81 बाइट्स

एक सरणी देता है।

_=>[...Array(13),b=.005,i=0].map(p=>(b*=++i%3?2:2.5).toFixed(2).replace(".",","))

डेमो




1

हस्क , 28 बाइट्स

ṁm↔ṪöJ',CtN`J§¤eR'0≥≤2ḣ5"125

इसे ऑनलाइन आज़माएं!

बस स्ट्रिंग हेरफेर, चूंकि हस्क अस्थायी बिंदु संख्याओं को प्रारूपित करने में भयानक है।

व्याख्या

ṁm↔ṪöJ',CtN`J§¤eR'0≥≤2ḣ5"125
                        "125  The string "125".
                      ḣ5      The range [1,2,3,4,5].
   Ṫö                         Compute their outer product wrt this function:
                               Arguments are number n (say 3) and character c (say '5').
             §     ≥≤2         Compute max(0,n-2+1) and max(0,2-n+1),
                R'0            repeat '0' those numbers of times,
              ¤e               and put them into a list: ["00",""]
           `J                  Join with c: "005"
        CtN                    Split to lengths 2 and at most 3: ["00","5"]
     J',                       Join with ',': "00,5"
                              This gives a 2D array of the outputs reversed.
ṁ                             Map and concatenate
 m↔                           map reversal.
                              Implicitly print separated by newlines.

1

सी ++, 138 120 बाइट्स

-18 बाइट्स MSalters के लिए धन्यवाद

#include<iostream>
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);}

हार्डकोड संस्करण, लिन द्वारा, 116 बाइट्स

#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");}

आपको इसे चलते देखकर लोगों के लिए कुछ ऑनलाइन उदाहरण शामिल करने चाहिए। मैंने पहले ही आपके लिए यह किया था: tio.run/…
22

कोई ज़रूरत नहीं है vऔर f: 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);}- बस 120 बाइट्स
MSalters

#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");}116 बाइट्स है।
लिन

1

आर , 70 61 बाइट्स

options(scipen=9,OutDec=",")
print(c(1,2,5)*10^rep(-2:2,e=3))

इसे ऑनलाइन आज़माएं!

-9 बाइट्स रुई बरदास की बदौलत

AndriusZ द्वारा बहिष्कृत


मुझे लगता है कि
AndriusZ

आप 5 बाइट्स को हटाकर बचा सकते हैंprint
AndriusZ

आपके और मेरे जवाबों को मिलाकर हम 50 बाइट्स प्राप्त कर सकते हैं -format(c(1,2,5)*10^rep(-2:2,e=3),ns=2,de=",",sc=9)
एंड्रीज़्ज़

@AndriusZ मुझे लगता है कि आपको अभी भी printउस उत्तर के आसपास की आवश्यकता है लेकिन आपको इसे स्वयं पोस्ट करना चाहिए; मैंने सेटिंग्स को बदलने के लिए सबसे बर्बर पद्धति का उपयोग किया, जिसमें formatकुछ वास्तविक विचार की आवश्यकता थी।
Giuseppe

1
आप दोनों optionsको एक में जोड़कर 8 बाइट बचा सकते हैं । options(OutDec=",",scipen=5)
रुई बारादास


1

05AB1E , 25 बाइट्स

125S5иεN3÷°*т/'.',:N2›i0«

तार की सूची लौटाता है।

इसे ऑनलाइन आज़माएं।

स्पष्टीकरण:

125                          # Push 125
   S                         # Split to a list of digits: [1,2,5]
    5и                       # Repeat it 5 times: [1,2,5,1,2,5,1,2,5,1,2,5,1,2,5]
      ε                      # Map each to:
       N3÷                   #  Integer-divide the map-index by 3
          °                  #  Take it to the power 10
           *                 #  Multiply the current map number with it
            т/               #  Divide it by 100
              '.',:          #  Replace all "." with ","
                   N2i      #  And if the map-index is larger than 2:
                       0«    #   Append a "0"

125S5иहो सकता है •}•15∍(संपीड़ित पुश करें 125; इसे आकार 15 में बड़ा करें:) 125125125125125और '.',:हो सकता है „.,`:(पुश स्ट्रिंग "।", पॉप और वर्णों को अलग-अलग आइटम के रूप में स्टैक पर रखें) एक ही बाइट-गणना के लिए: इसे ऑनलाइन आज़माएं।
इसके अलावा, (जहां 2 घटाया N3÷°*т/जा सकता है) को छोटा किया जा सकता है , लेकिन दुर्भाग्यवश हमें इसकी आवश्यकता है ताकि सभी संख्या दशमलव हो जाएं, जबकि अधिकांश संख्या पूर्णांक बनी रहेंगी।N3÷Í°*Í/N3÷Í°*


1

टी-एसक्यूएल, 104 बाइट्स

SELECT FORMAT(p*n,'0\,00')
FROM(VALUES(1),(2),(5))a(n),(VALUES(1),(10),(100),(1E3),(1E4))b(p)
ORDER BY p,n

लाइन ब्रेक केवल पठनीयता के लिए हैं।

तुच्छ PRINTसंस्करण (90 बाइट्स) से अधिक लंबे समय तक :

PRINT'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'

आप अपने उत्तर के लिए एक ऑनलाइन डेमो के लिए अपील
sergiol

और अधिक गोल्फ होने के लिए नई कड़ियों को हटा दें: rextester.com/ZANC22480
sergiol


0

रेटिना , 58 बाइट्स


¶0¶00¶000¶0000¶
.*¶
1$&2$&5$&
^
¶
+`¶(.?.?¶)
¶0$1
..¶
,$&

इसे ऑनलाइन आज़माएं!


1
मैंने ओपी को एक प्रश्न के साथ डबल-चेक किया - अग्रणी शून्य स्वीकार्य नहीं हैं :(
जोनाथन एलन

आपको @JonathanAllan के अवलोकन के अनुसार अपनी पोस्ट को ठीक करना चाहिए।
जोनाथनअलन

@sergiol ने इसे तय किया
ovs



0

जावास्क्रिप्ट - 96 बाइट्स

x=>{for(o="",b=-2;b<3;b++)for(n of[1,2,5])o+=(n*10**b).toFixed(2).replace(".",",")+" ";return o}

और यहाँ थोड़ा लंबा (98 अक्षर) कार्यात्मक दृष्टिकोण है:

x=>[].concat.apply([],[.01,.1,1,10,100].map(n=>[n,n*2,n*5])).map(n=>n.toFixed(2).replace(".",","))


0

Tcl , 80 बाइट्स

lmap d {-2 -1 0 1 2} {lmap c {1 2 5} {puts [regsub \\. [format %.2f $c\e$d] ,]}}

इसे ऑनलाइन आज़माएं!

Tcl , 90 बाइट्स

lmap d {.01 .1 1 10 100} {lmap c {1 2 5} {puts [regsub \\. [format %.2f [expr $c*$d]] ,]}}

इसे ऑनलाइन आज़माएं!

अभी भी बहुत लंबा है, इसे और अधिक बाद में गोल्फ!


फेल आउटगॉल्फ: tio.run/##BcFBCoAgEAXQq/…
sergiol

यह शाब्दिक के रूप में एक ही बाइट सीमा पर रहता है: "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 २००,०० ५००,०० "
२३:३


अधिक बाइट्स प्रदान timeकरने के बजाय पुनरावृति का उपयोग करना lmap:set d -3;time {incr d;lmap c {1 2 5} {puts [regsub \\. [format %.2f $c\e$d] ,]}} 5
सर्गियोल
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.