কম্পিউটার

AP-তে প্রথম উপাদান খুঁজুন যা পাইথনে প্রদত্ত প্রাইমের একাধিক


ধরুন আমাদের একটি AP সিরিজের একটি প্রথম পদ (A) এবং সাধারণ পার্থক্য (d) আছে এবং আমাদের একটি মৌলিক সংখ্যা Pও আছে, আমাদের প্রথম উপাদানটির অবস্থান খুঁজে বের করতে হবে প্রদত্ত AP-তে যা প্রদত্ত মৌলিক সংখ্যা P.

এর গুণিতক

সুতরাং, যদি ইনপুটটি A =3, D =4, P =5 এর মত হয়, তাহলে আউটপুটটি 3 হবে কারণ প্রদত্ত AP-এর চতুর্থ পদটি মৌলিক সংখ্যা 5 এর গুণিতক। সুতরাং, প্রথম পদ =3, দ্বিতীয় পদ =3+4 =7, তৃতীয় পদ =3+2*4 =11 এবং চতুর্থ পদ =3+3*4 =15।

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

  • একটি ফাংশন get_pow() সংজ্ঞায়িত করুন। এটি x, y, p

    লাগবে
  • উত্তর :=1

  • x :=x mod p

  • যখন y> 0, করবেন

    • যদি y এবং 1 অ-শূন্য হয়, তাহলে

      • উত্তর :=(উত্তর * x) মোড p

    • y :=y/2

    • x :=(x * x) মোড p

  • উত্তর ফেরত দিন

  • প্রধান পদ্ধতি থেকে, নিম্নলিখিতগুলি করুন -

  • A :=A mod P

  • D :=D mod P

  • A যদি 0 এর সমান হয়, তাহলে

    • রিটার্ন 0

  • অন্যথায় যখন D 0 এর সমান হয়, তখন

    • রিটার্ন -1

  • অন্যথায়,

    • X :=get_pow(D, P - 2, P)

    • রিটার্ন(X *(P - A)) mod P

উদাহরণ

আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -

def get_pow(x, y, p) :
   ans = 1
   x = x % p
   while y > 0 :
      if y & 1 :
         ans = (ans * x) % p
      y = y >> 1
      x = (x * x) % p
   return ans
def get_nearest(A, D, P) :
   A %= P
   D %= P
   if A == 0 :
      return 0
   elif D == 0 :
      return -1
   else :
      X = get_pow(D, P - 2, P)
      return (X * (P - A)) % P

A = 3
D = 4
P = 5
print(get_nearest(A, D, P))

ইনপুট

A = 3 D = 4 P = 5

আউটপুট

3

  1. পাইথনে সাজানো অ্যারেতে এলিমেন্টের প্রথম এবং শেষ অবস্থান খুঁজুন

  2. পাইথনে প্রাইম নম্বর খোঁজার বিভিন্ন পদ্ধতি

  3. একটি 2D অ্যারেতে k'th ক্ষুদ্রতম উপাদান খুঁজে পেতে পাইথন প্রোগ্রাম

  4. পাইথনে এটি ধারণকারী একটি তালিকা দেওয়া একটি আইটেমের সূচী কিভাবে খুঁজে পাবেন?