(पायथन) पूर्णांक विभाजन और शेषफल


पूर्णांक विभाजन और शेष

मॉड्यूल में "अंकगणितीय भाव" हमने पूर्णांक विभाजन संचालन के बारे में बात की।
आइए उन्हें फिर से याद करें:
// - पूर्णांक विभाजन, जब हम विभाजन ऑपरेशन के परिणामस्वरूप भिन्नात्मक भाग को छोड़ देते हैं
% - एक भाग के शेष भाग की गणना।
ऋणात्मक संख्याओं के लिए शेष संक्रिया  Python को अन्य प्रोग्रामिंग भाषाओं जैसे C++ या Pascal
की तुलना में थोड़ा अलग तरीके से निष्पादित किया जाता है पायथन में, शेष की गणना करने का कार्य गणितीय नियमों के अनुसार किया जाता है, अर्थात, जैसा कि आमतौर पर संख्या सिद्धांत में माना जाता है, शेष एक गैर-ऋणात्मक संख्या है   (बहुत उपयोगी लेख 81_%D0%BE%D1%81%D1%82%D0%B0%D1%82%D0%BA%D0%BE%D0%BC" target=" _blank">यहां). शेषफल का चिन्ह भाजक के चिन्ह के समान है।

उदाहरण 
<पूर्व> सी = 10 // 3 # उत्तर: सी = 3 डी = 10% 3 # उत्तर: डी = 1 ई = -7 // 4 # उत्तर: ई = -2 f = -7% 4# उत्तर: f = 1 e और f वेरिएबल्स के मान इस तरह निकले क्योंकि  <पूर्व> -7 = (-2*4)+1
याद रखने की जरूरत है!
पायथन में, ऋणात्मक संख्याओं के लिए शेषफल की गणना करने की क्रिया गणितीय नियमों के अनुसार की जाती है, अर्थात \(-7\ \%\ 4 = 1 \)< बीआर /> पायथन प्रोग्रामिंग भाषा में शेष चिह्न विभाजक चिह्न के समान है। 

प्रोग्रामिंग में पूर्णांक संचालन बहुत महत्वपूर्ण हैं। उन्हें समझने और सही तरीके से इस्तेमाल करने की जरूरत है। और यह अभ्यास करता है!

पूर्णांक विभाजन और शेष

किसी संख्या के अंकों के साथ कार्य करते समय शेष भाग की गणना करने की क्रिया को लागू करने की आवश्यकता दिखाई देती है। 
 
कार्य
तीन अंकों की एक संख्या दी गई है। इकाइयों से शुरू करते हुए इस संख्या के सभी अंक प्रदर्शित करें, और इकाइयों और सैकड़ों को बदलकर एक नई संख्या प्राप्त करें।

हम हमेशा एक संख्या को समग्र रूप में सोचते हैं, लेकिन यह नहीं भूलना चाहिए कि संख्याएँ अंकों से बनी होती हैं। आप किसी संख्या के सभी अंकों का चयन कैसे करते हैं?
वास्तव में, अगर आपको गणित याद है तो सब कुछ काफी सरलता से हल हो जाता है। और गणित हमें बताता है कि किसी भी संख्या को अंकों के योग में तोड़ा जा सकता है।

उदाहरण के लिए: 365 = 3*100 + 6*10 + 5*1 .
हम देखते हैं कि प्रत्येक अंक संबंधित बिट शब्द का गुणक है। 

हम दिखाएंगे कि किसी संख्या के प्रत्येक अंक को एक अलग चर में कैसे प्राप्त किया जाए, उदाहरण के लिए एक कॉलम को संख्या 10 से विभाजित करने के उदाहरण का उपयोग करके। हम संख्या 10 लेते हैं, क्योंकि हमारे पास दशमलव संख्या प्रणाली है और तदनुसार, बिट शब्द 1, 10, 100, आदि।

  

आंकड़े का विश्लेषण करते हुए, आप देख सकते हैं कि  <पूर्व> ई = एन% 10 # ऑपरेशन n% 10 - संख्या n के अंतिम अंक की गणना करता है # (अर्थात इकाई का अंक) 365 % 10 = 5 डी = एन // 10% 10 # ऑपरेशन n // 10 - संख्या को 10 गुना कम कर देता है, # यानी संख्या के अंतिम अंक को हटा देता है (365 // 10 = 36), # अब हम दहाई अंक की गणना कर सकते हैं, # परिचित ऑपरेशन को परिणाम पर लागू करना - # संख्या 10 से विभाजित करने के बाद शेष की गणना करें, 36% 10 = 6 एस = एन // 100 # सैकड़े का अंक प्राप्त करने के लिए, संख्या के दाईं ओर से दो अंकों को छोड़ना पर्याप्त है, # यानी दो बार 10 से विभाजित # (n // 10 // 10 या n // 100 के समान) 365 // 100 = 3
वेरिएबल्स में संग्रहीत संख्या के अंक होने के बाद, हम वांछित अंक को उपयुक्त बिट कारकों (1, 10, 100, आदि द्वारा) से गुणा करके उनमें से कोई अन्य संख्या बना सकते हैं: 
उदाहरण के लिए, नीचे दी गई पंक्ति को मूल संख्या n से एक नया नंबर मिलेगा, जिसमें सैकड़ों और एक को पुनर्व्यवस्थित किया जाएगा:
1) इकाई अंक ( e में संग्रहीत)  100
से गुणा करें 2) दहाई अंक (चर d में संग्रहीत)   10 से गुणा करें, 
3) हम सैकड़े के अंक को 1 से गुणा कर सकते हैं, या बस वेरिएबल s में संग्रहीत मान ले सकते हैं।
फिर अंक 1, 2 और 3 के मानों को बस जोड़ा जाना चाहिए और हमें एक नई संख्या मिलती है: <पूर्व> n1 = e*100 + d*10 + s;
इस तरह दिखेगा पूरा कार्यक्रम: <पूर्व> एन = इंट (इनपुट ()) ई = एन% 10 डी = एन // 10% 10 एस = एन // 100 प्रिंट (ई, डी, एस, ई * 100 + डी * 10 + एस)