嵌套for循环,改变变量时间复杂度PT 2

时间:2014-05-12 01:01:06

标签: algorithm time-complexity

所以我的最后一个问题可以找到: nested for loops with changing variables time complexity 我仍然问大致相同的问题。这一次,我想知道: 如果我在考试中被问到这个问题,并且无法访问计算机,我可以输入此代码来计算每个循环发生的迭代次数。我如何得出(n-2)*(n-1)/ 2 * n / 3? (n-2)部分非常清晰,n-1/2有点意义,而n / 3,我只是不确定。

        public static void function2(){
Scanner scanner = new Scanner(System.in);
System.out.println("enter a value for n: ");
int n = scanner.nextInt();
int counter = 0;
for (int i = 1; i <= (n-2); i++){
    System.out.println("Entered outer loop");
    for (int j = i+1; j<= (n-1); j++){
        System.out.println("Entered middle loop");
        for (int k = j+1; k<= n; k++){
            System.out.println("Entered inner loop");
            System.out.println("Hello World");
            counter++;
        }
    }
}
 System.out.println("Hello world printed: " + counter + " times");
}

1 个答案:

答案 0 :(得分:2)

http://rogercortesi.com/eqn/tempimagedir/eqn1294.png

完成它,纠正我犯的错误(如果有的话),你得到迭代的总数。