FizzBuzz इतना सरल है, शर्त लगाएं कि आप इसे पीछे की तरफ कर सकते हैं। इस चुनौती में, आपको FizzBuzz स्ट्रिंग की लंबाई दी जाएगी और उस स्ट्रिंग को बनाने वाले सकारात्मक पूर्णांक को देना होगा।
विवरण
इसे नीचे तोड़ने के लिए n, निम्न एल्गोरिथम द्वारा एक FizzBuzz स्ट्रिंग उत्पन्न की जाती है।
एक खाली स्ट्रिंग के साथ शुरू करें और, हर i=1..n(समावेशी) के लिए:
- यदि
iद्वारा3और से विभाज्य है5,FizzBuzzतो स्ट्रिंग में जोड़ें । - अगर
iसिर्फ3एपेंड करके विभाज्य हैFizz। - अगर
iसिर्फ5एपेंड करके विभाज्य हैBuzz। - यदि
iन तो विभाज्य है, तो दशमलव प्रतिनिधित्व को जोड़ देंi।
तो उदाहरण FizzBuzz(15)के लिए निम्नलिखित है:
12Fizz4BuzzFizz78FizzBuzz11Fizz1314FizzBuzz
आपको दिया जाएगा Length(FizzBuzz(n))और निर्धारित किया जाना चाहिए n। आप मान सकते हैं कि इनपुट सकारात्मक है और हमेशा कुछ FizzBuzz स्ट्रिंग की लंबाई होने वाली है।
नियम
आपका समाधान किसी भी मानक रूप से स्वीकार्य भाषा में एक पूरा कार्यक्रम या फ़ंक्शन परिभाषा हो सकता है। आपका कार्यक्रम / समारोह किसी भी मानक रूप से स्वीकृत तरीके से तर्क और रिटर्न जवाब ले सकता है । मानक खामियों को मना किया जाता है।
आप यह मान सकते हैं कि इनपुट सकारात्मक और वैध है (कुछ FizzBuzz स्ट्रिंग की लंबाई का वर्णन करता है) और यह आपकी भाषा में मूल रूप से सबसे बड़े पूर्णांक सूचक से छोटा है।
यह कोड गोल्फ है, इसलिए सबसे कम बाइट-काउंट जीतता है।
उदाहरण
यहाँ कुछ उदाहरण मामले हैं
Length(FizzBuzz(n)) -> n
1 -> 1
6 -> 3
15 -> 6
313 -> 100
3677 -> 1001
संपादित करें
अंतिम परीक्षण का मामला। धन्यवाद @SteadyBox