如何知道循环中的迭代次数

时间:2014-09-18 03:43:11

标签: loops iterator

static void bar(int n) {
   for (int i = n!; i>=1; i=i/2);
  }

这个循环会为n运行多少次?我假设它将包含一个日志,因为我们每次都除以2。我认为这将是log n,但我不确定。谢谢!

1 个答案:

答案 0 :(得分:0)

考虑到您只想检查它运行的次数,您可以执行以下操作(当然,您的代码不会运行)

int counter = 0;
    static void bar(int n) {
       for (int i = n!; i>=1; i=i/2){
counter++;
}
      }

最后打印计数器为

System.out.println(counter);//this will display how many iterations were achieved

P.S。您需要执行 n!以外的操作 可能就像

static void bar(int n) {
   for (int i = factorialOf(n); i>=1; i=i/2);
  }

并创建一个这样的函数:

public int factorialOf(int n){//assuming your return isn't huge else use long or double
//your logic goes here
}