No.67 関数eq(X, Y)は,引数XとYの値が等しければ1を返し,異なれば0を返す。
整数A,B,C について,eq(eq(A,B),eq(B,C))を呼び出したとき,1が返ってくるための必要十分条件はどれか。
整数A,B,C について,eq(eq(A,B),eq(B,C))を呼び出したとき,1が返ってくるための必要十分条件はどれか。
⭕️
❌
💾
🖊 | ☑️ |
⭕️ | [[ AnswerCalc[0] ]] % | A | [[ AnswerCalc[1] ]] |
eq(eq(A,B),eq(B,C))の結果が1となるには、eq(A,B)=eq(B,C)であることが条件になります。
まずeq(A,B)=eq(B,C)=1となるのは、A=B かつ B=Cの条件を満たした場合です。(A=B=C=1のとき eq(1,1)=eq(1,1)=1,A=B=C=0のとき eq(0,0)=eq(0,0)=1)
次にeq(A,B)=eq(B,C)=0になるのは、AとBが異なり、BとCも異なっているという条件を満たした場合です。(A=0,B=1,C=0のとき eq(0,1)=eq(1,0)=0,A=1,B=0,C=1のとき eq(1,0)=eq(0,1)=0)
以上のいずれかの条件がそろったときにeq(A,B)=eq(B,C)となりeq(eq(A,B),eq(B,C))=1となるので、1を返すための必要最低条件は「(A=B かつ B=C) 又は (A≠B かつ B≠C)」ということになります。
まずeq(A,B)=eq(B,C)=1となるのは、A=B かつ B=Cの条件を満たした場合です。(A=B=C=1のとき eq(1,1)=eq(1,1)=1,A=B=C=0のとき eq(0,0)=eq(0,0)=1)
次にeq(A,B)=eq(B,C)=0になるのは、AとBが異なり、BとCも異なっているという条件を満たした場合です。(A=0,B=1,C=0のとき eq(0,1)=eq(1,0)=0,A=1,B=0,C=1のとき eq(1,0)=eq(0,1)=0)
以上のいずれかの条件がそろったときにeq(A,B)=eq(B,C)となりeq(eq(A,B),eq(B,C))=1となるので、1を返すための必要最低条件は「(A=B かつ B=C) 又は (A≠B かつ B≠C)」ということになります。
💾
✔️
[[ d.CommentTxt ]] |
< | > |
🥇 |