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