मान लीजिए कि हमारे पास दो संख्याएँ n और m हैं। हमें 1s की n संख्या को m से भाग देने पर शेषफल ज्ञात करना है।
इसलिए, यदि इनपुट n =4 m =27 जैसा है, तो आउटपुट 4 होगा, क्योंकि 1111 mod 27 =4।
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
उपयोग() फ़ंक्शन को परिभाषित करें। इसमें x, n, m
. लगेगा- y :=1
- जबकि n> 0, करें
- यदि n विषम है, तो
- y :=(y * x) मॉड m
- x :=(x * x) मॉड एम
- n :=n/2 की मंजिल
- यदि n विषम है, तो
- वापसी y
मुख्य विधि से (उपयोग(10, n, 9 * m) / 9)
. की वापसी मंजिलउदाहरण
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -
def util(x, n, m) : y = 1 while n > 0 : if n & 1 : y = (y * x) % m x = (x * x) % m n >>= 1 return y def solve(n, m): return util(10, n, 9 * m) // 9 n = 4 m = 27 print(solve(n, m))
इनपुट
4, 27
आउटपुट
4