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

C++ में Fermat का अंतिम प्रमेय

संख्या सिद्धांत में फ़र्मेट का अंतिम प्रमेय जिसे Fermet's अनुमान के रूप में भी जाना जाता है एक प्रमेय है जो बताता है कि घात n 2 से अधिक के लिए। कोई तीन मान a, b, c संतुष्ट नहीं करते -

a n + ख n =c n

यानी अगर n <=2, a n + ख n =c n

अन्यथा, a n + ख n !=c n

n =2 के लिए मानों का उदाहरण

3, 4, 5 => 3 2 + 4 2 =9 + 16 =25 =5 2 .

5, 12, 13 => 25 + 49 =169 =13 2

इस समस्या में, हमें तीन मान दिए गए हैं, एल, आर, पाउ, जो रेंज [एल, आर] और पावर को दर्शाता है। हमारा काम दी गई सीमा और शक्ति के लिए फ़र्मेट के अंतिम प्रमेय को सत्यापित करना है।

समस्या को समझने के लिए एक उदाहरण लेते हैं,

उदाहरण 1:

इनपुट: एल =4, आर =12, शक्ति =2

आउटपुट: 5, 12, 13

उदाहरण 2:

इनपुट: एल =4, आर =12, शक्ति =4

आउटपुट: ऐसा कोई मान नहीं मिला

समाधान दृष्टिकोण:

यहां, हम जांच करेंगे कि शक्ति 2 से अधिक है या नहीं। यदि यह बड़ा है, तो प्रिंट करें ऐसा कोई मान नहीं मिला।

अन्यथा सीमा में जाँच करें कि क्या कोई मान है जो शर्त को संतुष्ट करता है a n + ख n =c n

हमारे समाधान की कार्यप्रणाली को दर्शाने वाला कार्यक्रम,

उदाहरण

#include <iostream>
#include <math.h>
using namespace std;

void checkFermatsLastTh(int L, int R, int n) {

   if (n >= 3)
   cout<<"No example found!";
   else {
      for (int a = L; a <= R; a++)
      for (int b=a; b<=R; b++)
      {
         int sum = pow(a, n) + pow(b, n);
         double c = pow(sum, 1.0/n);
         int cpowN = pow((int)c, n);
         if (cpowN == sum)
      {
         cout<<"Example found with value : "<<a<<", "<<b<<", "<<c;
         return;
      }
   }
   
   cout << "No example found!";
   }
}

int main() {
   
   int L = 3, R = 15, power = 2;
   cout<<"Run 1 \n";
   checkFermatsLastTh(L, R, power);
   
   L = 5, R = 42; power = 5;
   cout<<"\n\nRun 2\n";
   checkFermatsLastTh(L, R, power);

   return 0;
}

आउटपुट -

Run 1
Example found with value : 3, 4, 5
Run 2
No example found!

  1. सी ++ प्रोग्राम फर्मेट के छोटे प्रमेय को लागू करने के लिए

    फ़र्मेट की छोटी प्रमेय प्राथमिक संख्या सिद्धांत के मूलभूत परिणामों में से एक है और फ़र्मेट प्रारंभिक परीक्षण का आधार है। प्रमेय का नाम पियरे डी फ़र्मेट के नाम पर रखा गया है, जिन्होंने इसे 1640 में कहा था। प्रमेय कहता है कि यदि p एक अभाज्य संख्या है, तो किसी भी पूर्णांक a के लिए, संख्या a p–a, p का ए

  1. यूलर प्रमेय को लागू करने के लिए सी ++ कार्यक्रम

    यह एक C++ प्रोग्राम है जो यूलर प्रमेय के कार्यान्वयन को प्रदर्शित करता है। मॉड्यूलर गुणक व्युत्क्रम मौजूद होने के लिए संख्या और मॉड्यूलर को अभाज्य होना चाहिए। एल्गोरिदम Begin Take input to find modular multiplicative inverse Take input as modular value Perform inverse array function: mod

  1. सी ++ प्रोग्राम फर्मेट प्राइमलिटी टेस्ट करने के लिए

    फ़र्मेट प्राइमलिटी टेस्ट यह जांचने के लिए करता है कि दी गई संख्या अभाज्य है या नहीं। यहाँ इस एल्गोरिथम का C++ कोड दिया गया है। एल्गोरिदम Begin    modulo(base, e, mod)    a = 1    b = base    while (e > 0)       if (e mod 2 == 1)