java - java中的费马大定理
问题描述
我被要求创建一个算法,该算法可以打印方程式 a^n+b^n=c^n 的所有可能组合,而不会重复。给定的输入是一个限制和数字的力量。我使用 3 个嵌套循环来解决这个问题(没有共谋限制),但我无法解决重复问题。例如,
输入:2(pow),20(限制)
我的输出:3,4,5
4,3,5
5,12,13
6,8,10
8,6,10
8,15,17
9,12,15
12,5,13
12,9,15
12,16,20
15,8,17
16,12,20
正确的输出:
3,4,5
5,12,13
6,8,10
8,15,17
9,12,15
public static void Fermat(int n,int range) {
int temp = 0;
double x, y, z;
for (int a = 1; a <= range; a++) {
for (int b = 1; b <= range; b++) {
for (int c = 1; c <= range; c++) {
x = Math.pow(a, n);
y = Math.pow(b, n);
z = Math.pow(c, n);
if (x + y == z) {
System.out.println(a + "," + b + "," + c);
}
}
}
}
}
解决方案
尝试收紧你的限制:
for (int a = 1; a <= range; a++) {
for (int b = a; b <= range; b++) {
for (int c = b; c <= range; c++) {
...
推荐阅读
- swift - SCNCamera.exposureOffset 在 iOS13 中不起作用
- android - 无法在 appium 中使用 Content-desc 单击按钮
- reactjs - 在单个博文模板中显示作者
- python-3.x - 来自 pandas_datareader 的连接数据
- performance - ReactNative 导航 - 寻找动态加载许多屏幕的最佳方式?
- apache - 将 .htacess 转换为 nginx 配置
- machine-learning - 逻辑回归无法找到 theta 的值
- javascript - 设置取决于另一个下拉列表的选择选项值?
- php - Php throw exception Fatal error Uncaught Exception in Visual Studio Code with XDebug
- python - 在 Django 中覆盖保存模型