繁体   English   中英

此循环执行的最大次数

[英]Maximum number of times this loop executes

我有这个for循环,我正在准备考试。 我想看看这个循环执行了多少次。 在不知道 K 和 somevalue 的值的情况下,我们如何确定打印 SMALL 的次数。 书上的答案说它是K-1。

 for(int i=2; i<= k; i++)
     if(arr[i]< someValue)
        System.out.println("SMALL");

如果只是简单

for (int i = 0; i < k; i++) {

循环将运行k次,因为您从0开始但未达到k

  • 所以在起点上加2你得到k-2
  • 加回1因为它是<=并且你得到k-1次。

当增量不是1时,它往往变得不那么明显

注意:这是循环将执行的次数。 如果没有更多信息,无法确定SMALL将打印的次数。

在这种情况下somevalue无关紧要,您可以通过使用另一个变量来计算您自己执行的循环的计数,使用这个:

int count = 0;

for (int i = 2; i <= k; i++) {

    if (arr[i] < someValue) {
        System.out.println("SMALL");
    }

    count++;
}

System.out.println("this for loop executed: " + count + " times.");

这个问题需要更多的输入,因为没有arr[]somevalue的值,我们就找不到答案。 但是,由于循环从 2 开始并运行到等于k ,我们可以说它将运行到k-1 (因为循环从a <= condition开始 2 而不是通常的 1),这转换为k-1循环的执行。

仍然不能保证打印"SMALL"的次数。 仅当数组arr中的所有值都小于somevalue值时才有可能

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM