static void bar(int n) {
for (int i = n!; i>=1; i=i/2);
}
这个循环会为n运行多少次?我假设它将包含一个日志,因为我们每次都除以2。我认为这将是log n,但我不确定。谢谢!
答案 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
}