関数eq(X , Y )は、引数X とY の値が等しければ1を返し、異なれば0を返す。
整数A , B , C について、eq(eq(A , B ), eq(B , C ))を呼び出したとき、1が返ってくるための必要十分条件はどれか。
ア | (A = B かつB = C )又は(A ≠ B かつB ≠ C ) |
イ | (A = B かつB = C )又は(A ≠ B 又はB ≠ C ) |
ウ | (A = B かつB = C )又はA = C |
エ | (A = B 又はB = C )又はA = C |
答え ア
【解説】
eq(eq(A , B ), eq(B , C ))が1となるには、
eq(A , B ) = 1かつeq(B , C ) = 1 …(1)
eq(A , B ) = 0かつeq(B , C ) = 0 …(2)
のときである。
(1)の時は『A = B かつB = C 』であり、(2)の時は『A ≠ B かつB ≠ C 』である。
したがって、eq(eq(A , B ), eq(B , C ))が1となる必要十分条件は、
(A = B かつB = C )又は(A ≠ B かつB ≠ C )
(ア)である。
また、真理値表を作成し規則性を見つける解き方もある。
eq(eq(A , B ), eq(B , C ))の真理値表を作成すると
A | B | C | eq(A , B ) | eq(B , C ) | eq(eq(A , B ), eq(B , C )) |
0 0 0 0 1 1 1 1 |
0 0 1 1 0 0 1 1 |
0 1 0 1 0 1 0 1 |
eq(0, 0) = 1 eq(0, 0) = 1 eq(0, 1) = 0 eq(0, 1) = 0 eq(1, 0) = 0 eq(1, 0) = 0 eq(1, 1) = 1 eq(1, 1) = 1 |
eq(0, 0) = 1 eq(0, 1) = 0 eq(1, 0) = 0 eq(1, 1) = 1 eq(0, 0) = 1 eq(0, 1) = 0 eq(1, 0) = 0 eq(1, 1) = 1 |
eq(1, 1) = 1 eq(1, 0) = 0 eq(0, 0) = 1 eq(0, 1) = 0 eq(0, 1) = 0 eq(0, 0) = 1 eq(1, 0) = 0 eq(1, 1) = 1 |
【キーワード】
・必要条件
・十分条件
・必要十分条件