所以我的最后一个问题可以找到: 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");
}
答案 0 :(得分:2)
完成它,纠正我犯的错误(如果有的话),你得到迭代的总数。