2012-08-01 126 views

回答

3

您有

j = 2 

并且每个循环: 当J = J^2

的模式是:

2  = 2^(2^0) 
2*2 = 2^(2^1) 
4*4 = 2^(2^2) 
16*16 = 2^(2^3) 

哪些可以被看作是:

2^(2^k) with k being the number of iteration 

时因此循环停止:

2^(2^k) >= n 
log2(2^(2^k)) >= log2(n) 
2^k >= log2(n) 
log2(2^k) >= log2(n) 
k >= log2(log2(n)) 

复杂度为log 2(LOG 2(N))

+0

你能解释一下为什么它会是LOG 2(N)? – user123 2012-08-01 07:28:51

+1

对不起,我在我的手机上,计划在电脑前解释更多。而答案是错的... – 2012-08-01 07:44:04

+0

这里是正确的答案解释:) – 2012-08-01 07:53:40