কম্পিউটার

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


ধারণা

একটি গাণিতিক অগ্রগতির প্রদত্ত প্রথম পদ (A) এবং সাধারণ পার্থক্য (d) এবং প্রাইম সংখ্যা (P) এর ক্ষেত্রে, আমাদের কাজ হল প্রদত্ত এপি-তে প্রথম উপাদানটির অবস্থান নির্ধারণ করা যা প্রদত্তের একাধিক হিসাবে বিবেচনা করা হয়। মৌলিক সংখ্যা P.

ইনপুট

A = 3, d = 4, P = 5

আউটপুট

3

ব্যাখ্যা

প্রদত্ত AP-এর চতুর্থ পদটি মৌলিক সংখ্যা 5 এর গুণিতক।

প্রথম মেয়াদ =3

দ্বিতীয় মেয়াদ =3+4 =7

তৃতীয় মেয়াদ =3+2*4 =11

চতুর্থ মেয়াদ =3+3*4 =15

পদ্ধতি

ধরে নিন শব্দটি AN। এর ফলে,

AN =(A + (N-1)*d)

সুতরাং, এটি দেওয়া হয় যে AN হল P এর একটি গুণিতক। এর ফলে,

A + (N-1)*d =l*P

এখানে, l একটি ধ্রুবক।

সুতরাং A হতে অনুমান করুন (A % P) এবং d হবে (d % P)। এখন, আমাদের আছে (N-1)*d =(l*P – A).

RHS-এ P যোগ ও বিয়োগ করার সাহায্যে আমরা −

পাই

(N-1)*d =P(l-1) + (P-A),

এই ক্ষেত্রে, P-A একটি অ-ঋণাত্মক সংখ্যা হিসাবে ধরা হয়

(কারণ A কে A%P দ্বারা প্রতিস্থাপিত করা হয়েছে যা P এর থেকে ছোট) শেষ পর্যন্ত উভয় দিকে মোড নেওয়া হচ্ছে −

((N-1)*d)%P =(P-A)%P বা, ((N-1)d)%P =P-A

ধরে নিন একটি Y

অবশেষে উত্তর হল N হল −

((Y*(P-A)) % P) + 1.

উদাহরণ

#include <bits/stdc++.h>
using namespace std;
// Shows iterative Function to calculate
// (x1^y1)%p1 in O(log y1) */
int power(int x1, int y1, int p1){
   // Used to initialize result
   int res1 = 1;
   // Used to update x if it is more than or
   // equal to p
   x1 = x1 % p1;
   while (y1 > 0) {
      // It has been seen that if y1 is odd, multiply x1 with
      result
      if (y1 & 1)
         res1 = (res1 * x1) % p1;
         // y1 must be even now
      y1 = y1 >> 1; // y1 = y1/2
      x1 = (x1 * x1) % p1;
   }
   return res1;
}
// Shows function to find nearest element in common
int NearestElement1(int A, int d, int P){
   // Shows base conditions
   if (A == 0)
      return 0;
   else if (d == 0)
      return -1;
   else {
      int Y = power(d, P - 2, P);
      return (Y * (P - A)) % P;
   }
}
// Driver code
int main(){
   int A = 3, d = 4, P = 5;
   // Used to module both A and d
   A %= P;
   d %= P;
   // Shows function call
   cout << NearestElement1(A, d, P);
   return 0;
}

আউটপুট

3

  1. একটি সংখ্যা AP এর অংশ কিনা তা খুঁজুন যার প্রথম উপাদান এবং পার্থক্য C++ ব্যবহার করে দেওয়া হয়েছে।

  2. C++ এ প্রদত্ত প্রাইম দ্বারা nCr বিভাজ্য কিনা তা খুঁজুন

  3. C++ ব্যবহার করে মৌলিক সংখ্যা খুঁজে পাওয়ার দ্রুততম অ্যালগরিদম কোনটি?

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