কম্পিউটার

পাইথনে m দ্বারা n সংখ্যা 1s ভাগ করার পর অবশিষ্টাংশ খুঁজে বের করার প্রোগ্রাম


ধরুন আমাদের দুটি সংখ্যা আছে n এবং m। 1s-এর n সংখ্যাকে m দ্বারা ভাগ করার পর আমাদের অবশিষ্টাংশ বের করতে হবে।

সুতরাং, যদি ইনপুট n =4 m =27 এর মত হয়, তাহলে আউটপুট হবে 4, কারণ 1111 mod 27 =4।

এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -

একটি ফাংশন util() সংজ্ঞায়িত করুন। এটি x, n, m

লাগবে
  • y :=1
  • যখন n> 0, do
    • যদি n বিজোড় হয়, তাহলে
      • y :=(y * x) mod m
    • x :=(x * x) mod m
      • n :=n/2 এর মেঝে
  • ই ফেরত দিন

মূল পদ্ধতি থেকে (util(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

  1. পাইথনে মার্জ করার পরে ন্যূনতম সংখ্যার রঙগুলি খুঁজে বের করার প্রোগ্রামটি থাকে

  2. পাইথনে একটি পরিসরে নোডের সংখ্যা খুঁজে বের করার প্রোগ্রাম

  3. পাইথন প্রোগ্রাম একটি তালিকার ক্ষুদ্রতম সংখ্যা খুঁজে বের করতে

  4. পাইথন প্রোগ্রাম একটি তালিকায় সবচেয়ে বড় সংখ্যা খুঁজে বের করতে