3.給定一整數陣列 a[0]、a[1]、…、a[99]且 a[k]=3k+1,以 value=100 呼叫以下兩函式,假設 函式 f1 及 f2 之 while 迴圈主體分別執行 n1 與 n2 次 (i.e, 計算 if 敘述執行次數,不 包含 else if 敘述),請問 n1 與 n2 之值為何? 註: (low + high)/2 只取整數部分。
|
(A) n1=33, n2=4
(B) n1=33, n2=5
(C) n1=34, n2=4
(D) n1=34, n2=5
|
f1
|
100=3*33+1,k=33,100=a[33],故執行34次(n1=34)
|
f2
|
尋找mid出現33的時機,在第5次時出現(n2=5)
|
Low
|
High
|
mid
| ||
(1)
|
0
|
99
|
49
| |
(2)
|
0
|
48
|
24
| |
(3)
|
25
|
48
|
36
| |
(4)
|
25
|
35
|
30
| |
(5)
|
31
|
35
|
33
|

沒有留言:
張貼留言
注意:只有此網誌的成員可以留言。