संकलक गोल्फ की दुनिया में आपका स्वागत है। आपका कार्य एक प्रोग्राम लिखना है जो कल्पना पर फ़िज़बज़ का एक संस्करण खेलने के लिए एक और प्रोग्राम बनाता है।
आपका संकलक
एक कंपाइलर लिखें जो कल्पना करने के लिए FizzBuzz प्रोग्राम के वेरिएंट जेनरेट करता है। इस संस्करण की कल्पना पूर्णांक / स्ट्रिंग जोड़े की एक सरणी के रूप में व्यक्त की गई है।
- इनपुट किसी भी रूप में हो सकता है जो आपकी भाषा के लिए सुविधाजनक हो। (मेरे उदाहरण n: xxxx का उपयोग करते हैं, लेकिन यह सिर्फ उदाहरण के लिए है।)
- प्रत्येक पूर्णांक इनपुट का उपयोग केवल एक बार आपके कंपाइलर के मंगलाचरण के लिए किया जा सकता है।
- प्रत्येक जोड़ी के पूर्णांक में कम से कम एक का मान होगा।
- प्रत्येक जोड़ी के तार केवल चार ASCII अक्षरों से बने होंगे।
- आउटपुट को एक पूरा कार्यक्रम होना चाहिए जो नीचे दिए गए नियमों के अनुरूप हो।
- आउटपुट किसी भी सुविधाजनक रूप में हो सकता है, जब तक कि यह एक पाठ्य कार्यक्रम है। (इसलिए नो लैंबड़ा एक्सप्रेशन।)
उपरोक्त नियमों के अनुरूप नहीं होने के कारण व्यवहार अपरिभाषित है।
आपका उत्पन्न FizzBuzz कार्यक्रम
आपके कंपाइलर द्वारा तैयार प्रोग्राम इनपुट के रूप में एक पूर्णांक, एन ले जाएगा । यह आवश्यक होने पर FizzBuzz स्ट्रिंग्स के साथ नंबरों को बदलने और n सहित एक से शुरू होने वाले नंबरों के अनुक्रम को आउटपुट करेगा ।
- उत्पन्न प्रोग्राम कंपाइलर के समान भाषा में होना चाहिए।
- इनपुट n किसी भी रूप में आपकी भाषा के लिए सुविधाजनक हो सकता है।
- n में कम से कम एक का मान होगा।
- एक संख्या जो संकलक के पूर्णांक इनपुट के कम से कम एक से अधिक है, उन्हें उन सभी पूर्णांकों द्वारा प्रतिस्थापित किया जाना चाहिए जिन्हें उन पूर्णांकों के साथ जोड़ा गया है।
- एक संख्या जिसे FizzBuzz स्ट्रिंग द्वारा प्रतिस्थापित नहीं किया जाना है, दशमलव ASCII में आउटपुट होना चाहिए।
उदाहरण के लिए;
> GenFizzBuzz 3:Fizz 5:Buzz
> a.out 5
1
2
Fizz
4
Buzz
स्कोरिंग
आपकी प्रविष्टि उन प्रोग्रामों की लंबाई के आधार पर बनाई जाएगी जिन्हें आपके कंपाइलर ने आपके कंपाइलर की लंबाई में जोड़ा है। अपने कंपाइलर को प्रत्येक निम्न मापदंडों के साथ कई बार चलाएं और अपने स्कोर का पता लगाने के लिए कंपाइलर की लंबाई के साथ उत्पन्न कार्यक्रमों की लंबाई को एक साथ जोड़ें।
- बस गिनती। (कोई जानकारी नहीं - उत्पन्न कार्यक्रम प्रतिस्थापन के बिना 1 से n तक गिना जाएगा ।)
- बस गोल्फ। (1: गोल्फ - उत्पन्न कार्यक्रम "गोल्फ" n बार आउटपुट करेगा ।)
- क्लासिक फ़िज़बज़्ज़। (3: फ़िज़, 5: बज़)
(ध्यान दें कि आपके संकलक को किसी भी मान्य इनपुट के लिए कोड उत्पन्न करना आवश्यक है, न कि केवल ये सूचीबद्ध हैं।)