所以我正处理一个需要我的问题:
使用3个嵌套循环生成(F ^ 5-E ^ 5-D ^ 5)的所有组合的每个组合。然后使用3个不同的嵌套循环生成(A ^ 5 + B ^ 5 + C ^ 5)的每个组合并存储所有这些值。其中0 < A≤B≤C≤D≤E≤F≤N
我一直关注这个thread,这正是我想要完成的。
我遇到的问题是我的代码设置方式,每次循环再次出现时,我存储值的数组都会被覆盖。
数组需要多长时间来存储值(可能是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;
}
}
}
}