a, b, c の3つの数字の大きさの関係について質問をして、
3つの数字を順番に並べるクイズを考えてみるます。
a は b 以上ですか? と聞いたとき、“はい”と答えられたら、
a ≧ b であるということがわかります。
次に、 b は c 以上ですか? と聞いたとき、“はい”と答えられたら、
a ≧ b で b ≧ c であるということがわかります。中央値は b です。
コード:
if( a >= b )
if( b >= c )
return b;
a は b 以上ですか? と聞いたとき、“はい”と答えられ、
次に、 b は c 以上ですか? と聞いたとき、“はい”と答えられなければ、
a ≧ b で c > b であるということがわかります。
その次に、 a は c 以下ですか? と聞いたとき、“はい”と答えられたら、
a ≧ b で c > b で c ≧ a であるということがわかります。
a ≧ b で c > b で c ≧ a ということは、
c ≧ a で a ≧ b ということです。中央値は a です。
コード:
if( a >= b )
if( b >= c ) ;
else if( a <= c )
return a;
a は b 以上ですか? と聞いたとき、“はい”と答えられ、
次に、 b は c 以上ですか? と聞いたとき、“はい”と答えられなければ、
a ≧ b で c > b であるということがわかります。
その次に、 a は c 以下ですか? と聞いたとき、“はい”と答えられなければ、
a ≧ b で c > b で a > c であるということがわかります。
a ≧ b で c > b で a > c ということは、
a > c で c > b ということです。中央値は c です。
コード:
if( a >= b )
if( b >= c ) ;
else if( a <= c ) ;
else return c;
a は b 以上ですか? と聞いたとき、“はい”と答えられなければ、
b > a であるということがわかります。
次に、a は c より大きいですか? と聞いたとき、“はい”と答えられたら、
b > a で a > c であるということがわかります。中央値は a です。
コード:
if( a >= b ) ;
else if( a > c )
return a;
a は b 以上ですか? と聞いたとき、“はい”と答えられず、
次に、a は c より大きいですか? と聞いたとき、“はい”と答えられなければ、
b > a で c ≧ a であるということがわかります。
その次に、 b は c より大きいですか? と聞いたとき、“はい”と答えられたら、
b > a で c ≧ a で b > c であるということがわかります。
b > a で c ≧ a で b > c ということは、
b > c で c ≧ a ということです。中央値は c です。
コード:
if( a >= b ) ;
else if( a > c ) ;
else if( b > c )
return c;
a は b 以上ですか? と聞いたとき、“はい”と答えられず、
次に、a は c より大きいですか? と聞いたとき、“はい”と答えられなければ、
b > a で c ≧ a であるということがわかります。
その次に、 b は c より大きいですか? と聞いたとき、“はい”と答えられなければ、
b > a で c ≧ a で c ≧ b であるということがわかります。
b > a で c ≧ a で c ≧ b ということは、
c ≧ b で b > a ということです。中央値は b です。
コード:
if( a >= b ) ;
else if( a > c ) ;
else if( b > c ) ;
else return b;
言葉にするとすごく長いですね。参考になれば嬉しいです:)