费马最后的C ++定理

费马数理中的最后一个定理(也称为费米猜想) 是一个定理,指出对于n大于2的幂,没有三个值a,b,c满足-

          a + b = c n

     如果n <= 2,则               a n + b = c n 

          否则,    a n + b != 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]和功率。我们的任务是验证给定范围和功率下的费马最后定理。

让我们举个例子来了解这个问题,

范例1: 

输入:  L = 4,R = 12,功率= 2

输出:  5、12、13

范例2: 

输入:  L = 4,R = 12,功率= 4

输出: 找不到这样的值

解决方法: 

在这里,我们将检查功率是否大于2。如果更大,请打印“找不到此类值”。  

否则,检查极限是否存在满足条件a 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<<"找不到示例!";
   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<<"找到带有值的示例: "<<a<<", "<<b<<", "<<c;
         return;
      }
   }
   
   cout << "找不到示例!";
   }
}

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
找到带有值的示例: 3, 4, 5
Run 2
找不到示例!