इस समस्या में, हम फ़िज़-बज़ समस्या के कार्यान्वयन और प्रकार देखेंगे।
फ़िज़ बज़ − यह एक सरल प्रोग्रामिंग समस्या है जिसमें प्रोग्रामर 1 से 100 तक की संख्याओं में 3 के सभी गुणकों को '‘Fizz’' और 5 के सभी गुणकों को '‘Buzz’' में बदल देता है।
समस्या को समझने के लिए एक उदाहरण लेते हैं
1, 2, 'Fizz', 4, 'Buzz', 'Fizz' , 7, 8, 'Fizz' , 'Buzz', 11, 'Fizz' , 13, 14, 'Fizz Buzz' , 16, 17, 'Fizz' , 19, 'Buzz',....
समाधान दृष्टिकोण
समस्या को हल करने का एक सरल दृष्टिकोण केवल 1 से 100 तक एक लूप का उपयोग करना है। और फिर प्रत्येक पुनरावृत्ति में दोनों नीचे दी गई शर्तों की अलग-अलग जांच करें,
शर्त 1 − यदि i 3 से विभाज्य है, तो काउंट को 'Fizz' से बदलें।
शर्त 2 − यदि i 5 से विभाज्य है, तो काउंट को 'Buzz' से बदलें।
अन्यथा, संख्या प्रिंट करें। जिन मानों के लिए संख्या 3 और 5 दोनों से विभाज्य है। हम fizz buzz प्रिंट करेंगे।
उदाहरण
हमारे समाधान के कार्य को दर्शाने वाला प्रोग्राम
#include <iostream> using namespace std; int main(){ for (int i=1; i<=100; i++){ if (i%15 == 0) cout<<"Fizz Buzz,\t"; else if ((i%3) == 0) cout<<"Fizz,\t"; else if ((i%5) == 0) cout<<"Buzz,\t"; else cout<<i<<",\t"; } return 0; } आउटपुट
1, 2, Fizz, 4, Buzz, Fizz, 7, 8, Fizz, Buzz, 11, Fizz, 13, 14, Fizz Buzz, 16, 17, Fizz, 19, Buzz, Fizz, 22, 23, Fizz, Buzz, 26, Fizz, 28, 29, Fizz Buzz, 31, 32, Fizz, 34, Buzz, Fizz, 37, 38, Fizz, Buzz, 41, Fizz, 43, 44, Fizz Buzz, 46, 47, Fizz, 49, Buzz, Fizz, 52, 53, Fizz, Buzz, 56, Fizz, 58, 59, Fizz Buzz, 61, 62, Fizz, 64, Buzz, Fizz, 67, 68, Fizz, Buzz, 71, Fizz, 73, 74, Fizz Buzz, 76, 77, Fizz, 79, Buzz, Fizz, 82, 83, Fizz, Buzz, 86, Fizz, 88, 89, Fizz Buzz, 91, 92, Fizz, 94, Buzz, Fizz, 97, 98, Fizz, Buzz,
Fizz Buzz समस्या के कुछ अन्य रूपांतर
Fizz Buzz समस्या एक सामान्य प्रोग्रामिंग समस्या है जिसका उपयोग प्रोग्रामिंग साक्षात्कार में प्रोग्रामर के तर्क की जांच के लिए किया जाता है। समय के साथ इस समस्या को बेहतर बनाने और कभी-कभी हल करना अधिक कठिन बनाने के लिए कुछ उन्नयन मिले हैं। यहां, Fizz Buzz समस्या के कुछ सामान्य रूपांतर हैं।
अंक-आधारित Fizz Buzz − इस समस्या में, प्रोग्रामर को मान को fizz buzz में बदलने की आवश्यकता होती है जो संख्या के अंक के रूप में 3 या 5 की घटना पर आधारित होता है बजाय गुणनखंडों की जांच के।
उदाहरण − 1, 2, Fizz(3), 4, Buzz(5), 6, 7, 8, 9, 10, 11, 12, Fizz(13), 14, Buzz(15), 16, 17, 18, 19, 20, 21, 22, Fizz(23), 24, Buzz(25), 26, 27, 28, 29, Fizz(30), Fizz(31), Fizz(32), Fizz(33), Fizz(34), Fizz Buzz(35),...
Fizz Buzz Woof − इस समस्या का एक रूपांतर एक और शब्द जोड़ता है जो अगली अभाज्य संख्या 7 के लिए woof है। अब, हम 3, 5, और 7 के गुणनखंडों के लिए मान बदलेंगे।
उदाहरण − 1, 2, Fizz (3), 4, Buzz (5), Fizz (6), Woof (7), 8, Fizz (9), Buzz (10), 11, Fizz (12), 13, Woof (14), Buzz (15), 16, 17, Fizz (18), 19, Buzz (20), Fizz Woof (21), 22, 23, Fizz (24), Buzz (25), 26, Fizz Woof (27), Woof (28), 29, Buzz (30), 31, 32, Fizz (33), 34, Fizz Buzz woof (35)...
अन्य आधार संख्याओं के लिए Fizz Buzz − खेल का एक और रूपांतर केवल किसी अन्य आधार में संख्या के आधार पर बदलकर समस्या को थोड़ा अधिक जटिल बनाना है।
उदाहरण − आधार 16 (हेक्साडेसिमल) में बदलना 1, 2, Fizz, 4, Buzz, Fizz, 7, 8, Fizz, Buzz, B, Fizz, D, E, Fizz Buzz, 11, Fizz,....
दो या अधिक रूपांतरों को संयोजित करना − समस्या को दो या अधिक रूपांतरों को संयोजित करके अधिक जटिल बनाया जा सकता है। जैसे एक Fizz Buzz जो fizz buzz में बदलने के लिए गुणनखंडों और अंकों दोनों पर विचार करता है।