Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 计数循环迭代公式_Java_Loops - Fatal编程技术网

Java 计数循环迭代公式

Java 计数循环迭代公式,java,loops,Java,Loops,我花了很多时间试图找到这段代码的公式,但仍然一无所获。。我知道运行时间,但问题是,例如,如果n=100,该代码将打印多少行输出?有没有具体的计算公式?我所做的代码: int i, j, k; for (i = 1; i <= n; i++) { for (j = i + 1; j <= n; j++) { for (k = j + 1; k <= n; k++) { System.out.println(i + " " + j

我花了很多时间试图找到这段代码的公式,但仍然一无所获。。我知道运行时间,但问题是,例如,如果n=100,该代码将打印多少行输出?有没有具体的计算公式?我所做的代码:

int i, j, k;

for (i = 1; i <= n; i++) {
    for (j = i + 1; j <= n; j++) {
        for (k = j + 1; k <= n; k++) {
            System.out.println(i + " " + j + " " + k);
        }
    }
}
严格地说,i
提示:组合

我有一种感觉,您需要一个公式来获得嵌套循环的迭代次数

  for( i = 1; i <= n; i++ )
     for ( j = i+1; j <= n; j++ )
        for( k = j+1; k <= n; k++ )
上述嵌套循环的通用公式:

(n*(n-1)* ... *(n-r+1)) / r!, where n > r-1.
这里,r=嵌套循环的数量


例如:当n=20且r=3时,迭代次数将为=20*19*18/3!=1140

你指的是什么公式?问题陈述是什么?顺便说一句,上面代码的运行时复杂度是^3$上的$。我如何才能找到上面代码在不跟踪的情况下将打印多少行输出?如果n=10,将是120行输出乘以I*j*k组合不是正确的,但就时间复杂度而言,我如何将其转换为公式…?呃。。。使用组合公式?我非常感谢你们,花了5个小时试图找出这个公式的模式。还有一件事,这是一个求和规则,对吗?我更愿意说:n*n-1*n-2/!3.现在我不知道求和规则是什么,但听起来是正确的,因为这等于说n=5,count=3+2+1+2+1+1@AhmedLo是的,有点。
(n*(n-1)* ... *(n-r+1)) / r!, where n > r-1.