কম্পিউটার

C++ এ ফার্মাটের শেষ উপপাদ্য


সংখ্যা তত্ত্বে ফার্মাটের শেষ উপপাদ্য যা Fermet’s conjecture নামেও পরিচিত একটি উপপাদ্য যা বলে যে 2 এর চেয়ে বেশি শক্তি n এর জন্য। কোন তিনটি মান a, b, c সন্তুষ্ট নয় −

a n + b n =c n

অর্থাৎ যদি n <=2, a n + b n =c n

অন্যথায়, a n + b 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 .

এই সমস্যায়, আমাদের তিনটি মান দেওয়া হয়েছে, L, R, pow বোঝানো রেঞ্জ [L, R] এবং power। আমাদের কাজ হল প্রদত্ত পরিসীমা এবং শক্তির জন্য ফার্ম্যাটের শেষ উপপাদ্য যাচাই করা৷

সমস্যাটি বোঝার জন্য একটি উদাহরণ নেওয়া যাক,

উদাহরণ 1:

ইনপুট: L =4, R =12, শক্তি =2

আউটপুট: 5, 12, 13

উদাহরণ 2:

ইনপুট: L =4, R =12, শক্তি =4

আউটপুট: এরকম কোন মান পাওয়া যায়নি

সমাধান পদ্ধতি:

এখানে, আমরা পরীক্ষা করব যে শক্তি 2-এর বেশি বা না। যদি এটি বড় হয়, প্রিন্ট করুন এমন কোন মান পাওয়া যায় নি।

অন্যথা n শর্তটি সন্তুষ্ট করে এমন একটি মান আছে কিনা তা পরীক্ষা করুন + b 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. ভাইজিং এর উপপাদ্য বাস্তবায়নের জন্য C++ প্রোগ্রাম

  2. ফার্ম্যাটের ছোট্ট উপপাদ্য বাস্তবায়নের জন্য C++ প্রোগ্রাম

  3. অয়লার উপপাদ্য বাস্তবায়নের জন্য C++ প্রোগ্রাম

  4. ফার্ম্যাট প্রাইমালিটি টেস্ট করার জন্য C++ প্রোগ্রাম