回答編集履歴
2
ややこしさ修正
test
CHANGED
@@ -20,7 +20,7 @@
|
|
20
20
|
|
21
21
|
Middle = (0 + 9) / 2 = 4
|
22
22
|
|
23
|
-
4
|
23
|
+
arr[4] = 5 < 9なのでLeft = 4 + 1 = 5
|
24
24
|
|
25
25
|
・2回目
|
26
26
|
|
@@ -32,7 +32,7 @@
|
|
32
32
|
|
33
33
|
Middle = (5 + 9) / 2 = 7
|
34
34
|
|
35
|
-
7
|
35
|
+
arr[7] = 8 < 9なのでLeft = 7 + 1 = 8
|
36
36
|
|
37
37
|
・3回目
|
38
38
|
|
@@ -44,4 +44,4 @@
|
|
44
44
|
|
45
45
|
Middle = (8 + 9) / 2 = 8
|
46
46
|
|
47
|
-
8
|
47
|
+
arr[8] = 9 = 9なので"Found!"
|
1
丁寧に追ってみる
test
CHANGED
@@ -3,3 +3,45 @@
|
|
3
3
|
つまり,3回目はLeft = 8, Right = 9となり,
|
4
4
|
|
5
5
|
ifで(8 + 9) / 2 = 8となり,ここで目的の値である9が見つかります.
|
6
|
+
|
7
|
+
---
|
8
|
+
|
9
|
+
|
10
|
+
|
11
|
+
1回目から丁寧に追ってみると
|
12
|
+
|
13
|
+
・1回目
|
14
|
+
|
15
|
+
Left = 0
|
16
|
+
|
17
|
+
Right = 9
|
18
|
+
|
19
|
+
Left <= Right のため継続
|
20
|
+
|
21
|
+
Middle = (0 + 9) / 2 = 4
|
22
|
+
|
23
|
+
4にある値は5で,5 < 9なのでLeft = 4 + 1 = 5
|
24
|
+
|
25
|
+
・2回目
|
26
|
+
|
27
|
+
Left = 5
|
28
|
+
|
29
|
+
Right = 9
|
30
|
+
|
31
|
+
Left <= Right のため継続
|
32
|
+
|
33
|
+
Middle = (5 + 9) / 2 = 7
|
34
|
+
|
35
|
+
7にある値は8で,8 < 9なのでLeft = 7 + 1 = 8
|
36
|
+
|
37
|
+
・3回目
|
38
|
+
|
39
|
+
Left = 8
|
40
|
+
|
41
|
+
Right = 9
|
42
|
+
|
43
|
+
Left <= Right のため継続
|
44
|
+
|
45
|
+
Middle = (8 + 9) / 2 = 8
|
46
|
+
|
47
|
+
8にある値は9で,9 = 9なので"Found!"
|