费马最后的C ++定理
费马数理中的最后一个定理(也称为费米猜想) 是一个定理,指出对于n大于2的幂,没有三个值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,功率=2
输出: 5、12、13
范例2:
输入: L=4,R=12,功率=4
输出: 找不到这样的值
解决方法:
在这里,我们将检查功率是否大于2。如果更大,请打印“找不到此类值”。
否则,检查极限是否存在满足条件an+bn=cn的值。
该程序说明了我们解决方案的工作原理,
示例
#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 找不到示例!