मैं इस तरह के एक साधारण सवाल पूछने के लिए शर्मिंदा हूं। मेरा कार्यकाल दो और हफ्तों के लिए शुरू नहीं होता है इसलिए मैं एक प्रोफेसर से नहीं पूछ सकता, और सस्पेंस मुझे मार देगा।
2 मॉड 4 = 2 क्यों करता है?
मैं इस तरह के एक साधारण सवाल पूछने के लिए शर्मिंदा हूं। मेरा कार्यकाल दो और हफ्तों के लिए शुरू नहीं होता है इसलिए मैं एक प्रोफेसर से नहीं पूछ सकता, और सस्पेंस मुझे मार देगा।
2 मॉड 4 = 2 क्यों करता है?
जवाबों:
मोडुलो (मॉड,%) रेमिनेडर ऑपरेटर है।
2%2 = 0 (2/2 = 1 remainder 0)
1%2 = 1 (1/2 = 0 remainder 1)
4%2 = 0 (4/2 = 2 remainder 0)
5%2 = 1 (5/2 = 2 remainder 1)
बहुत आसान है अगर आप केले और लोगों के समूह का उपयोग करते हैं।
कहते हैं कि आपके पास 1 केला और 6 लोगों का समूह है, यह आप व्यक्त करेंगे: 1 mod 6
/ 1 % 6
/ 1 modulo 6
।
समूह के प्रत्येक व्यक्ति को अच्छी तरह से खिलाया और खुश रहने के लिए आपको 6 केले की आवश्यकता होती है।
इसलिए यदि आपके पास 1 केला है और इसे 6 लोगों के साथ साझा करने की आवश्यकता है, लेकिन आप केवल साझा कर सकते हैं यदि आपके पास प्रत्येक समूह सदस्य के लिए 1 केला है, जो कि 6 व्यक्ति हैं, तो आपके पास 1 केला होगा (शेष, किसी में साझा नहीं किया गया है) समूह), वही 2 केले के लिए जाता है। फिर आपके पास शेष के रूप में 2 केले होंगे (कुछ भी साझा नहीं किया गया है)।
लेकिन जब आपको 6 केले मिलते हैं, तो आपको खुश होना चाहिए, क्योंकि तब 6 लोगों के समूह में प्रत्येक सदस्य के लिए 1 केला है, और शेष 0 है या कोई भी केले नहीं बचे हैं जब आपने 6 लोगों पर सभी 6 केले साझा किए थे।
अब, 7 केले और समूह में 6 लोगों के लिए, आपके पास तब यह होगा 7 mod 6 = 1
, क्योंकि आपने 6 लोगों को प्रत्येक केला 1 दिया, और 1 केला शेष है।
12 mod 6
6 लोगों पर साझा किए गए 12 केले के लिए , प्रत्येक में दो केले होंगे, और शेष तब 0 है।
मैं इस बारे में उलझन में था, भी, केवल कुछ मिनट पहले। तब मैंने कागज के एक टुकड़े पर लंबे समय तक हाथ किया और यह समझ में आया:
जहाँ तक कंप्यूटर इस समस्या को लेने जा रहा है। कंप्यूटर वहां रुक जाता है और 2 को वापस कर देता है, जिससे समझ में आता है कि "%" (mod) क्या पूछ रहा है।
हमें दशमलव में डालने के लिए प्रशिक्षित किया गया है और चलते रहते हैं यही कारण है कि यह पहली बार में नकली हो सकता है।
किसी ने मुझसे संपर्क किया और मुझे और अधिक विवरण में समझाने के लिए कहा, जो सवाल के जवाब में मेरा जवाब है। तो यहाँ है कि मैं उस व्यक्ति को जवाब दिया था अगर यह किसी और की मदद कर सकता है:
मॉडुलो ऑपरेशन आपको यूक्लिडियन डिसिशन का शेष देता है (जो केवल पूर्णांक के साथ काम करता है, वास्तविक संख्या नहीं)। यदि आपके पास A ऐसा है जो A = B * C + D (D <B के साथ) है, तो A की B से यूक्लिडियन डिवीजन की भागफल C है, और शेष है D. यदि आप 2 को 4 से विभाजित करते हैं, तो भागफल है 0 और शेष 2 है।
मान लीजिए कि आपके पास एक ऑब्जेक्ट है (जो आप काट नहीं सकते हैं)। और आप उन वस्तुओं की समान मात्रा को B लोगों में वितरित करना चाहते हैं। जब तक आपके पास B ऑब्जेक्ट्स से अधिक है, आप उनमें से प्रत्येक को 1 देते हैं, और दोहराते हैं। जब आपके पास B ऑब्जेक्ट्स से कम है, तो आपने शेष वस्तुओं को रोक दिया और उन्हें रख दिया। जितनी बार आपने ऑपरेशन दोहराया है, आइए उस नंबर को C कहें, भागफल है। आपके द्वारा अंत में रखी जाने वाली वस्तुओं की संख्या, चलो इसे डी कहते हैं, शेष है।
यदि आपके पास 2 ऑब्जेक्ट्स और 4 लोग हैं। आपके पास पहले से ही 4 से कम ऑब्जेक्ट हैं। तो प्रत्येक व्यक्ति को 0 ऑब्जेक्ट मिलते हैं, और आप 2 रखते हैं।
इसलिए 2 मोडुलो 4 2 है।
mod का अर्थ होता है जब रमेंडर विभाजित होता है। तो 4 से विभाजित 2 0 शेष 2 के साथ है। इसलिए 2 mod 4 2 है।
मोडुलो शेष है, एक गणितीय विभाजन अभिव्यक्ति के पूर्णांक के रूप में व्यक्त किया गया है।
तो, आपको बताता है कि आपके पास 90 की स्थिति में स्क्रीन पर एक पिक्सेल है जहां स्क्रीन 100 पिक्सेल चौड़ी है और 20 जोड़ते हैं, यह स्थिति के चारों ओर लपेटेगा 10. क्यों ... क्योंकि 90 + 20 = 110 इसलिए 110% 100 = 10।
मेरे लिए इसे समझने के लिए मैं मानता हूं कि मोडुलो फ्रैक्शनल नंबर का पूर्णांक प्रतिनिधित्व है। इसके अलावा यदि आप अभिव्यक्ति को पीछे की ओर करते हैं और शेष को एक भिन्नात्मक संख्या के रूप में संसाधित करते हैं और फिर विभाजक में जोड़ दिया जाता है तो यह आपको अपना मूल उत्तर देगा।
उदाहरण:
100
(A) --- = 14 mod 2
7
123
(B) --- = 8 mod 3
15
3
(C) --- = 0 mod 3
4
इसके विपरीत इंजीनियर:
2 14(7) 2 98 2 100
(A) 14 mod 2 = 14 + --- = ----- + --- = --- + --- = ---
7 7 7 7 7 7
3 8(15) 3 120 3 123
(B) 8 mod 3 = 8 + --- = ----- + --- = --- + --- = ---
15 15 15 15 15 15
3 3
(B) 0 mod 3 = 0 + --- = ---
4 4
मुझे लगता है कि आप भ्रमित हो रहे हैं कि मॉडुलो समीकरण कैसे पढ़ा जाता है।
जब हम एक विभाजन समीकरण लिखते हैं जैसे कि 2/4
हम 2 को 4 से विभाजित कर रहे हैं।
जब एक modulo समीकरण लिखा जाता है जैसे कि 2 % 4
हम विभाजित कर रहे हैं 2 by 4
(2 से अधिक 4 सोचें) और शेष को लौटा दें।
यह यूक्लिड एल्गोरिथम है।
जैसे
a mod b = k * b + c => a mod b = c, जहां k एक पूर्णांक है और c उत्तर है
4 मॉड 2 = 2 * 2 + 0 => 4 मॉड 2 = 0
27 मॉड 5 = 5 * 5 + 2 => 27 मॉड 5 = 2
तो आपका जवाब है
2 मॉड 4 = 0 * 4 + 2 => 2 मॉड 4 = 2
के लिये:
2 mod 4
हम इस छोटे से फॉर्मूले का उपयोग कर सकते हैं, जिसे मैं थोड़ा सोचने के बाद लेकर आया था, हो सकता है कि यह पहले से ही कहीं न कहीं परिभाषित हो, लेकिन मेरे लिए काम नहीं करता है, और यह वास्तव में उपयोगी है।
A mod B = C
जहाँ C उत्तर है
K * B - A = |C|
जहां K, A में B से कितनी बार फिट बैठता है
2 mod 4
होने वाला:
0 * 4 - 2 = |C|
C = |-2| => 2
आशा है कि यह आप के लिए काम करता है :)
एक मॉड्यूल का जवाब देने के लिए x % y
, आप दो प्रश्न पूछते हैं:
उ० — कितनी बार बिना रुके y
चला जाता है x
? 2% 4 के लिए यह 0 है।
B- आपको उस बैक से प्राप्त करने के लिए कितना जोड़ने की आवश्यकता है x
? 0 से 2 तक जाने के लिए आपको 2-0 यानी 2 की आवश्यकता होगी।
इस तरह के एक सवाल में अभिव्यक्त किया जा सकता है ताकि: आप कितना विभाजन के के पूर्णांक-ish परिणाम को जोड़ने की आवश्यकता होगी x
द्वारा y
, पर वापस पाने के लिए x
?
पूर्णांक-ईश द्वारा इसका अर्थ केवल संपूर्ण संख्याएं हैं, न कि अंश जो भी रुचि के हों।
एक आंशिक विभाजन शेष (जैसे .283849) मोडुलो में कोई दिलचस्पी नहीं है क्योंकि मोडुलो केवल पूर्णांक संख्याओं से संबंधित है।
इसके बारे में सोचने के एक दृश्य तरीके के लिए, एक घड़ी का चेहरा देखें, जो आपके विशेष उदाहरण में, 12. के बजाय केवल 4 पर जाता है। यदि आप घड़ी पर 4 से शुरू करते हैं (जो शून्य पर शुरू होने जैसा है) और इसके लिए दक्षिणावर्त घूमें 2 "घंटे", आप 2 पर उतरते हैं, जैसे 6 "घंटे" के लिए इसे दक्षिणावर्त घूमना भी आपको 2 (6 मॉड 4 == 2 जैसे 2 मॉड 4 == 2) पर लैंड करेगा।
यह modr () फ़ंक्शन का उल्लेख करने का एक अच्छा समय हो सकता है। यह एक विभाजन के पूरे और शेष दोनों हिस्सों को लौटाता है।
print("\n 17 // 3 =",17//3," # Does the same thing as int(17/3)")
print(" 17 % 3 =",17%3," # Modulo division gives the remainder.")
whole, remain = divmod(17,3)
print(" divmod(17,3) returns ->",divmod(17,3),end="")
print(" because 3 goes into 17,",whole,"times with a remainder of",remain,end=".\n\n")
2 = 0 * 4 + 2
।