Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> C++

एपी में पहला तत्व खोजें जो सी ++ में दिए गए प्राइम का गुणक है

अवधारणा

दिए गए पहले पद (ए) और एक अंकगणितीय प्रगति के सामान्य अंतर (डी) और अभाज्य संख्या (पी) के संबंध में, हमारा कार्य दिए गए एपी में पहले तत्व की स्थिति निर्धारित करना है जिसे दिए गए गुणक के रूप में माना जाता है अभाज्य संख्या पी.

इनपुट

A = 3, d = 4, P = 5

आउटपुट

3

स्पष्टीकरण

दिए गए AP का चौथा पद अभाज्य संख्या 5 का गुणज है।

पहला कार्यकाल =3

दूसरा कार्यकाल =3+4 =7

तीसरा कार्यकाल =3+2*4 =11

चौथा पद =3+3*4 =15

विधि

मान लें कि पद AN है। इसके परिणामस्वरूप,

एएन =(ए + (एन-1)*डी)

तो, यह दिया गया है कि AN, P का गुणज है। इसके परिणामस्वरूप,

ए + (एन-1)*डी =एल*पी

यहाँ, l एक स्थिरांक है।

तो मान लें कि ए (ए% पी) और डी (डी% पी) हो। अब, हमारे पास (N-1)*d =(l*P – A) है।

RHS पर P जोड़ने और घटाने की सहायता से, हम प्राप्त करते हैं -

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

इस मामले में, P-A को एक गैर-ऋणात्मक संख्या के रूप में माना जाता है

(क्योंकि A को A%P से बदल दिया जाता है जो P से छोटा होता है) अंत में दोनों तरफ mod ले रहा है -

((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. ज्ञात कीजिए कि C++ में दिए गए अभाज्य से nCr विभाज्य है या नहीं

    मान लीजिए कि तीन चर N, R और P हैं। N और R का उपयोग N प्राप्त करने के लिए किया जाता है सीआर और P एक अभाज्य है। हमें यह पता लगाना है कि क्या N सीआर P से विभाज्य है। मान लीजिए हमारे पास कुछ संख्याएँ N =7, R =2 और P =3 हैं, तो 7 सी2 =21, यह 3 से विभाज्य है, इसलिए आउटपुट सत्य होगा। हम जानते हैं कि N सीआ

  1. C++ का उपयोग करके अभाज्य संख्याओं को खोजने के लिए सबसे तेज़ एल्गोरिथम कौन सा है?

    इराटोस्थनीज की चलनी n से छोटी अभाज्य संख्याओं को खोजने के सबसे प्रभावी तरीकों में से एक है जब n लगभग 10 मिलियन से छोटा है। एराटोस्थनीज की चलनी को प्रदर्शित करने वाला एक कार्यक्रम इस प्रकार दिया गया है। उदाहरण #include <bits/stdc++.h> using namespace std; void SieveOfEratosthenes(int num) { &n

  1. एपी में पहला तत्व खोजें जो पायथन में दिए गए प्राइम का गुणक है

    मान लीजिए कि हमारे पास AP श्रृंखला का पहला पद (A) और सार्व अंतर (d) है, और हमारे पास एक अभाज्य संख्या P भी है, हमें पहले तत्व की स्थिति ज्ञात करनी है दिए गए AP में जो दी गई अभाज्य संख्या P का गुणज है। इसलिए, यदि इनपुट A =3, D =4, P =5 जैसा है, तो आउटपुट 3 होगा क्योंकि दिए गए AP का चौथा पद अभाज्य सं