回答編集履歴

3

追記

2024/12/09 02:44

投稿

fana
fana

スコア11996

test CHANGED
@@ -71,3 +71,55 @@
71
71
 
72
72
  あとは残りも同様にやってみて,話の辻褄が合うパターンが見つかれば完了だし,そういうパターンが存在しないことがわかったならば,それはすなわち「一番最初の空白に `1` を入れることが間違いである」ということだから,最初の空白に入れるべき値は `2` に確定することができる(→以降はまた同様にやっていけばいい).
73
73
 
74
+ ---
75
+
76
+ [追記]
77
+ もちろん,最初に値を仮定してみる場所というのはどこでもいい.
78
+
79
+ 例えば,
80
+ 「答えが { `a[0]`, `a[1]`, `a[2]` } のどれなのかを判断するぜ!」という話をやっているのだから,
81
+ ある処理の流れの中では
82
+
83
+ * `med = a[0];`
84
+ * `med = a[1];`
85
+ * `med = a[2];`
86
+
87
+ という3つの結論に処理が分岐するハズだよね.
88
+ ということは, `med = a[ ];` という形の空欄の部分について考えてみれば
89
+
90
+ ```C
91
+ if (a[0] <= a[ ]){
92
+ if (a[2] <= a[ ]){
93
+ med = a[ 0 ]; //←ここを 0 とするならば,
94
+ }else{
95
+ if (a[ ] <= a[2]){
96
+ med = a[ 1 ]; //←こっちを 1 とするということになるよね
97
+ }else{
98
+ med = a[2]; //(←これは元からある)
99
+ }
100
+ }
101
+ }
102
+ else
103
+ { /*略*/ }
104
+ ```
105
+
106
+ という形か,あるいは
107
+
108
+ ```C
109
+ if (a[0] <= a[ ]){
110
+ if (a[2] <= a[ ]){
111
+ med = a[ 1 ]; //←ここを 1 とするならば,
112
+ }else{
113
+ if (a[ ] <= a[2]){
114
+ med = a[ 0 ]; //←こっちを 0 とするということになるよね
115
+ }else{
116
+ med = a[2]; //(←これは元からある)
117
+ }
118
+ }
119
+ }
120
+ else
121
+ { /*略*/ }
122
+ ```
123
+
124
+ という形のいずれかだということになる.
125
+ (→で,とりあえずどっちかに仮定してみたら条件のところの穴をまともに埋められるのか否か? というのを見ていけば良い,と.)

2

誤記修正

2024/12/09 02:22

投稿

fana
fana

スコア11996

test CHANGED
@@ -63,7 +63,7 @@
63
63
  { med = a[2]; } //←ここは 2 になるね.
64
64
  }
65
65
  }
66
- else //以降,同様にこっち側もやってみればいい
66
+ else //以降,同様にこっち側もやってみればいい
67
67
  { /*略*/ }
68
68
  ```
69
69
 

1

文言微修正

2024/12/09 02:21

投稿

fana
fana

スコア11996

test CHANGED
@@ -47,12 +47,12 @@
47
47
 
48
48
  if のところの空白を埋めた結果として, else の側に来る場合というのは,(先の2の if の条件より)「 `a[0]` が最小の値である場合」ということになっている.
49
49
  この場合,あとは `a[1]` と `a[2]` との間の大小関係さえわかれば答えを確定できるよね.
50
- そしたらもう,この else のブロック内にある if の条件 `a[?] <= a[2]` のところの `?` は `1` にするしかないよね:
50
+ そしたらもう,この else のブロック内にある if の条件である `a[?] <= a[2]` のところの `?` は `1` にするしかないよね:
51
51
 
52
52
  ```C
53
53
  if( a[0] <= a[1] ) //←1を入れてみた
54
54
  {
55
- if( a[2] <= a[0] ){ //←0を入れてみ
55
+ if( a[2] <= a[0] ){ //←0を入れることになっ
56
56
  med = a[0]; //←この場合,ここは0ってことになる
57
57
  }
58
58
  else //次はこの else のところを見てみる