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

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


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

          an + bn = cn

यानी     यदि n <= 2,               an + bn = cn

        अन्यथा, an + bn != cn

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

3, 4, 5 => 32 + 42 = 9 + 16 = 25 = 52।

5, 12, 13 => 25 + 49 = 169 = 132।

इस समस्या में, हमें तीन मान L, R, pow दिए गए हैं जो रेंज [L, R] और घात को दर्शाते हैं। हमारा कार्य दिए गए रेंज और घात के लिए फर्मेट के अंतिम प्रमेय को सत्यापित करना है।

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

उदाहरण 1:

इनपुट: L = 4, R = 12, power = 2

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

उदाहरण 2:

इनपुट: L = 4, R = 12, power = 4

आउटपुट: No such value found

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

यहां, हम जांचेंगे कि घात 2 से अधिक है या नहीं। यदि यह अधिक है, तो No such value found प्रिंट करें।

अन्यथा सीमा में जांचें कि क्या कोई मान शर्त an + bn = cn को संतुष्ट करता है।

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

उदाहरण

#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. - C++ प्रोग्राम: फर्मेट का लिटिल थ्योरम इम्प्लीमेंट करना

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

  1. - C++ प्रोग्राम: यूलर थ्योरम इम्प्लीमेंट करना

    यह एक C++ प्रोग्राम है जो यूलर थ्योरम के इम्प्लीमेंटेशन को दर्शाता है। मॉड्यूलर मल्टीप्लिकेटिव इनवर्स के अस्तित्व के लिए संख्या और मॉड्यूलर को कोप्राइम होना चाहिए। एल्गोरिदम Begin मॉड्यूलर मल्टीप्लिकेटिव इनवर्स ढूंढने के लिए इनपुट लें मॉड्यूलर वैल्यू के रूप में इनपुट लें इनवर्स ऐरे फंक

  1. - C++ प्रोग्राम: फर्मेट अभाज्यता परीक्षण करना

    फर्मेट अभाज्यता परीक्षण यह जांचने के लिए किया जाता है कि दी गई संख्या अभाज्य है या नहीं। यहां इस एल्गोरिदम का C++ कोड दिया गया है। एल्गोरिदम शुरुआत    मोड्यूलो(आधार, घात, मॉड)    a = 1    b = आधार    जब तक (घात > 0)       यदि (घात मॉड 2 == 1