2

所以我正在解决一个需要我做的问题:

使用 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;
            }
        }
    }
}
4

0 回答 0