所以我正在解决一个需要我做的问题:
使用 3 个嵌套循环生成 (F^5-E^5-D^5) 的每个组合存储所有这些组合。然后使用 3 个不同的嵌套循环生成 (A^5+B^5+C^5) 的每个组合并存储所有这些值。其中 0 < A ≤ B ≤ C ≤ D ≤ E ≤ F ≤ N
我一直在关注这个线程,这正是我想要完成的。
我遇到的问题是我的代码设置方式,每次循环再次执行时,我存储值的数组都会被覆盖。
数组需要多长时间来存储值(可能是 N^3)?我怎么能在不覆盖的情况下做到这一点?
到目前为止,这是我的代码:
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.println("Enter the value for N:");
int n = scan.nextInt();
int countF = n;
double[] fifth_orderN = new double[n+1];
double[] F_answer = new double[n+1];
double[] A_answer = new double[n+1];
for(int i = 1; i != n+1; i++)
{
fifth_orderN[i] = Math.pow(i, 5);
}
for(int i = 1; i != n+1 ; i++)
{
double F = Math.pow(countF, 5);
countF--;
for(int j = 1; j != n+1 ; j++)
{
double E = fifth_orderN[j];
for(int k = 1; k != n+1; k++)
{
double D = fifth_orderN[k];
double ans = (F-(D+E));
if(ans < 0)
{
break;
}
else
{
F_answer[k] = ans;
}
}
}
}
for(int i = 1; i != n+1; i++)
{
double A = fifth_orderN[i];
for(int j = 1; j != n+1; j++)
{
double B = fifth_orderN[j];
for(int k = 1; k != n+1; k++)
{
double C = fifth_orderN[k];
double ans = (A + B + C);
A_answer[k] = ans;
}
}
}
}