2 मॉड 4 = 2 क्यों करता है?


150

मैं इस तरह के एक साधारण सवाल पूछने के लिए शर्मिंदा हूं। मेरा कार्यकाल दो और हफ्तों के लिए शुरू नहीं होता है इसलिए मैं एक प्रोफेसर से नहीं पूछ सकता, और सस्पेंस मुझे मार देगा।

2 मॉड 4 = 2 क्यों करता है?


45
क्योंकि 2 = 0 * 4 + 2
p4bl0


1
X / y परिणामों में एक पूर्णांक भाग और एक अंश भाग होता है। यदि आप भाजक के साथ अंश भाग को गुणा करते हैं, तो आपको शेषफल मिलता है। और x = पूर्णांक भाग y + शेष (यानी अंश भाग y)। इस मामले में
इंटेगर

76
ख़ुशी है कि आप में वो सवाल पूछने की हिम्मत थी।
प्रशस्त

सापेक्ष बहुत दूर के बराबर हो रहा है विभाजित दो नंबर।
१६:१४ पर १

जवाबों:


151

मॉड का मतलब है कि आप विभाजन को करने के बाद शेष को ले लें। चूंकि 4 2 शून्य समय में जाता है, आप 2 के शेष के साथ समाप्त होते हैं।


95

मोडुलो शेष है, विभाजन नहीं।

2 / 4 = 0R2
2 % 4 = 2

%शब्द के बदले में अक्सर मॉडुलो ऑपरेटर के लिए संकेत का उपयोग किया जाता है mod

के लिए x % 4, आपको निम्न तालिका मिलती है (1-10 के लिए)

 x x%4
------
 1  1
 2  2
 3  3
 4  0
 5  1
 6  2
 7  3
 8  0
 9  1
10  2


13

बहुत आसान है अगर आप केले और लोगों के समूह का उपयोग करते हैं।

कहते हैं कि आपके पास 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 66 लोगों पर साझा किए गए 12 केले के लिए , प्रत्येक में दो केले होंगे, और शेष तब 0 है।



8

मैं इस बारे में उलझन में था, भी, केवल कुछ मिनट पहले। तब मैंने कागज के एक टुकड़े पर लंबे समय तक हाथ किया और यह समझ में आया:

  • 4 2 शून्य बार में जाता है।
  • 4 गुना 0 0 है।
  • आप उस शून्य को 2 के नीचे रखते हैं और घटाते हैं जो 2 छोड़ता है।

जहाँ तक कंप्यूटर इस समस्या को लेने जा रहा है। कंप्यूटर वहां रुक जाता है और 2 को वापस कर देता है, जिससे समझ में आता है कि "%" (mod) क्या पूछ रहा है।

हमें दशमलव में डालने के लिए प्रशिक्षित किया गया है और चलते रहते हैं यही कारण है कि यह पहली बार में नकली हो सकता है।


7

किसी ने मुझसे संपर्क किया और मुझे और अधिक विवरण में समझाने के लिए कहा, जो सवाल के जवाब में मेरा जवाब है। तो यहाँ है कि मैं उस व्यक्ति को जवाब दिया था अगर यह किसी और की मदद कर सकता है:

मॉडुलो ऑपरेशन आपको यूक्लिडियन डिसिशन का शेष देता है (जो केवल पूर्णांक के साथ काम करता है, वास्तविक संख्या नहीं)। यदि आपके पास 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 है।


5

मोडुलो ऑपरेटर दो पूर्णांक ऑपरेंड के शेष भाग का मूल्यांकन करता है। कुछ उदाहरण निम्नलिखित हैं:

23 % 10 evaluates to 3 (because 23/10 is 2 with a remainder of 3)
50 % 50 evaluates to 0 (50/50 is 1 with a remainder of 0)
9 % 100 evaluates to 9 (9/100 is 0 with a remainder of 9)

4

mod का अर्थ होता है जब रमेंडर विभाजित होता है। तो 4 से विभाजित 2 0 शेष 2 के साथ है। इसलिए 2 mod 4 2 है।


4

मोडुलो शेष है, एक गणितीय विभाजन अभिव्यक्ति के पूर्णांक के रूप में व्यक्त किया गया है।

तो, आपको बताता है कि आपके पास 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

जब आप 2 को 4 से विभाजित करते हैं, तो आप 0 को 2 बचे ओवर या शेष के साथ प्राप्त करते हैं। संख्या को विभाजित करने के बाद मोडुलो बस शेष है।


1

मुझे लगता है कि आप भ्रमित हो रहे हैं कि मॉडुलो समीकरण कैसे पढ़ा जाता है।

जब हम एक विभाजन समीकरण लिखते हैं जैसे कि 2/4हम 2 को 4 से विभाजित कर रहे हैं।

जब एक modulo समीकरण लिखा जाता है जैसे कि 2 % 4हम विभाजित कर रहे हैं 2 by 4(2 से अधिक 4 सोचें) और शेष को लौटा दें।


1

मॉड शेष ऑपरेटर है। इसीलिए 2 mod 4 शेष के रूप में 2 देता है। 4 * 0 = 0 और फिर 2-0 = 2। इसे और स्पष्ट करने के लिए 6 mod 4 या 8 mod 3 के साथ भी ऐसा करने का प्रयास करें।


1

यह यूक्लिड एल्गोरिथम है।

जैसे

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


1

के लिये:

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

आशा है कि यह आप के लिए काम करता है :)


1

मॉड ऑपरेशन रिमाइंडर के साथ काम करता है।

इसे मॉड्यूलर अंकगणित कहा जाता है।

 a==b(mod m) 
 then m|(a-b)
 a-b=km 
 a=b+km
 So, 2=2+0*4

1

एक मॉड्यूल का जवाब देने के लिए x % y, आप दो प्रश्न पूछते हैं:

उ० — कितनी बार बिना रुके yचला जाता है x? 2% 4 के लिए यह 0 है।

B- आपको उस बैक से प्राप्त करने के लिए कितना जोड़ने की आवश्यकता है x? 0 से 2 तक जाने के लिए आपको 2-0 यानी 2 की आवश्यकता होगी।

इस तरह के एक सवाल में अभिव्यक्त किया जा सकता है ताकि: आप कितना विभाजन के के पूर्णांक-ish परिणाम को जोड़ने की आवश्यकता होगी xद्वारा y, पर वापस पाने के लिए x?

पूर्णांक-ईश ​​द्वारा इसका अर्थ केवल संपूर्ण संख्याएं हैं, न कि अंश जो भी रुचि के हों।

एक आंशिक विभाजन शेष (जैसे .283849) मोडुलो में कोई दिलचस्पी नहीं है क्योंकि मोडुलो केवल पूर्णांक संख्याओं से संबंधित है।


0

इसके बारे में सोचने के एक दृश्य तरीके के लिए, एक घड़ी का चेहरा देखें, जो आपके विशेष उदाहरण में, 12. के बजाय केवल 4 पर जाता है। यदि आप घड़ी पर 4 से शुरू करते हैं (जो शून्य पर शुरू होने जैसा है) और इसके लिए दक्षिणावर्त घूमें 2 "घंटे", आप 2 पर उतरते हैं, जैसे 6 "घंटे" के लिए इसे दक्षिणावर्त घूमना भी आपको 2 (6 मॉड 4 == 2 जैसे 2 मॉड 4 == 2) पर लैंड करेगा।


6
यह वास्तव में बहुत भ्रामक है।
जो फिलिप्स

@ do3boy: घड़ी के चेहरे का विचार मोडुलो के तथ्य का वर्णन करने के लिए एक बहुत ही सरल और आसान तरीका है। सिवाय इसके कि उपलब्ध पदों की संख्या को संशोधित करने के बजाय इसे समझाने के लिए 24 वें प्रारूप का उपयोग करना आसान होगा।
Atmocreations

0

यह 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")
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.