सस्ता, तेज, अच्छा , से प्रेरित होकर , हम एक एल्गोरिथ्म को लागू करने जा रहे हैं, जिसमें ठीक दो हैं।
गणित
दो गैर-पूर्णांक पूर्णांक a और b को देखते हुए GCF d सबसे बड़ा पूर्णांक है जो a और b दोनों को बिना शेष के विभाजित करता है । Bézout गुणांक पूर्णांक (x, y) के जोड़े हैं जैसे कि कुल्हाड़ी + द्वारा = d । Bézout गुणांक अद्वितीय नहीं हैं। उदाहरण के लिए, दिया गया:
a = 15, b = 9
हमारे पास है
d = 3
x = 2
y = -3
के बाद से 15*2 + 9*(-3) = 30 - 27 = 3
।
GCF और Bézout गुणांक की एक जोड़ी की गणना करने का एक सामान्य तरीका यूक्लिड के एल्गोरिथ्म का उपयोग कर रहा है , लेकिन यह किसी भी तरह से एकमात्र तरीका नहीं है।
कोड
आपके प्रोग्राम को इनपुट के रूप में दो पूर्णांक लेना चाहिए। इसे सबसे बड़े सामान्य कारक और एक जोड़ी Bézout गुणांक को आउटपुट / वापस करना चाहिए।
उदाहरण इनपुट:
15 9
उदाहरण आउटपुट
3 (2, -3)
आउटपुट किसी भी क्रम और प्रारूप में हो सकता है, लेकिन यह स्पष्ट होना चाहिए कि कौन सा GCF है और कौन से गुणांक हैं।
द अंडरहैंड
आपके कार्यक्रम में सस्ते, तेज और अच्छे होने की क्षमता है। दुर्भाग्य से, यह उनमें से केवल एक ही बार हो सकता है।
- जब यह सस्ता नहीं होता है , तो प्रोग्राम को अत्यधिक मात्रा में सिस्टम संसाधनों का उपयोग करना चाहिए।
- जब यह तेज़ नहीं होता है , तो कार्यक्रम को अत्यधिक मात्रा में समय लेना चाहिए।
- जब यह अच्छा नहीं होता है , तो प्रोग्राम आउटपुट गलत होना चाहिए।
कार्यक्रम को तीनों (अच्छी तरह से, नहीं करना) करने में सक्षम होना चाहिए। जो तब होता है जब आप पर निर्भर करता है- यह समय पर आधारित हो सकता है, संकलक, कौन सा इनपुट बड़ा है, आदि कुछ अतिरिक्त नोट:
- आपका कार्यक्रम स्पष्ट रूप से कम नहीं होना चाहिए और एक सरसरी निरीक्षण पास करना चाहिए। यदि आप तीन अलग-अलग एल्गोरिदम लागू करते हैं तो मुझे थोड़ा संदेह होगा।
- में सस्ते मामले, "सिस्टम संसाधनों की अत्यधिक मात्रा" कुछ भी है कि अन्य कार्यक्रमों धीमा होता है। यह मेमोरी, बैंडविड्थ, आदि हो सकता है।
- में तेजी से मामले, "अत्यधिक समय" यह कैसे में चलाता है के सापेक्ष इसका मतलब है सस्ता और अच्छा मामलों। कार्यक्रम अभी भी समाप्त होना चाहिए। करीब आप "अविश्वसनीय रूप से निराशाजनक लेकिन कार्यक्रम को रोकने के लिए पर्याप्त निराशा नहीं कर सकते हैं" (मजेदार और बेहतर)।
- में अच्छा मामले, उत्पादन स्पष्ट रूप से गलत नहीं होना चाहिए और एक सरसरी निरीक्षण पास करना चाहिए। मुझे बहुत शक होगा अगर इसने मुझे "2 आना आधा" का जीसीएफ दिया।
यह एक लोकप्रियता प्रतियोगिता है, इसलिए अधिकांश अपवोट जीतते हैं!
संपादित करें
स्पष्ट करने के लिए, मैं ऐसे कार्यक्रमों की तलाश कर रहा हूं जो "तेज और सस्ते" और "सस्ते और अच्छे" और "तेज और अच्छे" विभिन्न मामलों में हो सकते हैं, न कि उनमें से जो केवल एक करते हैं।