Prime के Modulo में काम करना
जोड़ें, गुणा करें और mod के भीतर रहें
Prime के Modulo में काम करना, CoddyKit पर कोडिंग साक्षात्कार की तैयारी का एक निःशुल्क पाठ है। यह 4 में से 1वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह कोडिंग साक्षात्कार की तैयारी सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। कोडिंग साक्षात्कार की तैयारी पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
मॉड्यूलो क्यों लें
प्रतियोगिताओं में उत्तर बहुत बड़े हो सकते हैं, यहाँ तक कि अन्य जगहों पर उपलब्ध पूर्णांक प्रकारों की सीमा से भी कहीं आगे। इसलिए समस्याएँ परिणाम को किसी बड़े अभाज्य के मॉड्यूलो में माँगती हैं, ताकि संख्याएँ छोटी रहें। 🔢
प्रसिद्ध मॉड से परिचित हों
आपको सबसे अधिक दिखाई देने वाली अभाज्य संख्या 1000000007 है, जिसे अक्सर 1e9+7 लिखा जाता है। यह टकरावों से बचने के लिए पर्याप्त बड़ी और 64 बिट में समाने के लिए पर्याप्त छोटी है।
MOD = 1000000007मॉड्यूलो का अर्थ
मॉड्यूलो संक्रियक भाग देने के बाद बचा हुआ शेषफल देता है। इसलिए 17 % 5 का परिणाम 2 है, क्योंकि 17 को 5 से भाग देने पर 2 शेष बचता है।
print(17 % 5) # 2जोड़ सीमा के भीतर रहता है
आप पहले जोड़ सकते हैं और अंत में मॉड ले सकते हैं, या जोड़ते समय ही मॉड लेते जा सकते हैं। दोनों तरीकों में शेषफल समान रहता है, इसलिए संख्याओं को छोटा रखने के लिए बार-बार मॉड लीजिए।
total = (a + b) % MODगुणा भी सीमा के भीतर रहता है
यही नियम गुणा पर भी लागू होता है: गुणनफल का अभाज्य संख्या से मॉड लीजिए। Python बड़े पूर्णांकों को मूल रूप से संभालता है, लेकिन मॉड लेने से प्रत्येक मान बहुत छोटा और तेज़ रहता है।
prod = (a * b) % MODहर चरण के बाद घटाइए
लंबे लूप में प्रत्येक पुनरावृत्ति पर % MOD लागू कीजिए। इससे संख्याएँ बहुत बड़ी होने से रुकती हैं और प्रत्येक संक्रिया सस्ती तथा पूर्वानुमानित रहती है।
ans = (ans * i) % MODघटाव ऋणात्मक हो सकता है
कई भाषाओं में घटाव से ऋणात्मक शेषफल मिल सकता है। अंतिम मॉड लेने से पहले MOD वापस जोड़ दीजिए, ताकि परिणाम सुरक्षित 0 वाली सीमा में आ जाए।
diff = (a - b + MOD) % MODPython का सुविधाजनक मॉड्यूलो
अच्छी खबर है: धनात्मक मॉड्यूलस के लिए Python का % पहले से ही गैर-ऋणात्मक परिणाम देता है। इसलिए -1 % 7 का परिणाम -1 नहीं, बल्कि 6 होता है और आपको अलग से सुधार नहीं करना पड़ता।
print(-1 % 7) # 6मॉड संक्रियाओं पर वितरित होता है
मुख्य विचार यह है: जोड़ और गुणा के लिए (a op b) % m का परिणाम (a%m op b%m) % m के बराबर होता है। इससे आप इनपुट को मिलाने से पहले ही छोटा कर सकते हैं।
भाग करना अपवाद है
जोड़, घटाव और गुणा मॉड के अंतर्गत ठीक से काम करते हैं। लेकिन साधारण भाग ऐसा नहीं करता, और इसके लिए आपको इस पाठ्यक्रम में आगे मॉड्यूलर प्रतिलोम की आवश्यकता होगी।
MOD को ऊपर एक बार निर्धारित कीजिए
अपने समाधान की शुरुआत में MOD को एक स्थिरांक के रूप में परिभाषित कीजिए। कोड में 1000000007 को कई जगह लिखने के बजाय एक नामित मान रखना बेहतर है, क्योंकि बिखरे हुए लेखन में टाइपिंग की गलती छिप सकती है।
MOD = 10**9 + 7त्वरित जाँच
घटाव का मॉड लेने से पहले MOD क्यों जोड़ना चाहिए?
पुनरावृत्ति
अब आप 1e9+7 जैसे अभाज्य मॉड्यूलस की सहायता से बहुत बड़ी गिनतियों को छोटा रख सकते हैं। प्रत्येक चरण पर जोड़, घटाव और गुणा को घटाइए, ऋणात्मक परिणामों का ध्यान रखिए और भाग को प्रतिलोमों के लिए सुरक्षित रखिए। 🎯
एआई शिक्षक के साथ कोडिंग साक्षात्कार की तैयारी सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 90
- पाठ
- 360
अक्सर पूछे जाने वाले प्रश्न
क्या “Prime के Modulo में काम करना” पाठ निःशुल्क है?
हाँ—“Prime के Modulo में काम करना” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और कोडिंग साक्षात्कार की तैयारी पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। कोडिंग साक्षात्कार की तैयारी पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“Prime के Modulo में काम करना” में मैं क्या सीखूँगा?
जोड़ें, गुणा करें और mod के भीतर रहें आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ कोडिंग साक्षात्कार की तैयारी का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या कोडिंग साक्षात्कार की तैयारी शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर कोडिंग साक्षात्कार की तैयारी शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 1वाँ पाठ है।
“Prime के Modulo में काम करना” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस कोडिंग साक्षात्कार की तैयारी पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर कोडिंग साक्षात्कार की तैयारी पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- Prime के Modulo में काम करना
- Fast Modular Exponentiation
- Fermat से Modular Inverse
- Precomputed Factorials के साथ nCr