論理演算メニュー】> STEP: 5 NAND 演算の基本 (paizaランク D 相当) [難易度: 1192 ±15]

※リンク先へ移動するためには[paiza]へのログインが必要です。

問題文

0 または 1 の整数 A と B が与えられます。 A NAND B の結果を出力してください。
ここで、 NAND 演算とは、以下の表にしたがって算出する論理演算のことを指します。

入力1入力2出力
001
011
101
110

入力値(例)
0 0

出力値(例)
1

解答例

解説

否定論理積(NAND)とは、論理演算の1つで、2つの与えられた値のいずれも「真」のときに「偽」、それ以外のときに「真」となる演算です。

1 1 => 0
それ以外は=> 1

いずれも「真」のときは「真」、それ以外は「偽」となる論理積(AND)を否定(NOT)したのが否定論理積となります。

プログラミング言語では、!(式 && 式)と記載できます。(式 && 式)の結果を否定(真偽逆転)します。

このpaizaの問題では、

と書くと、出力でなにも表示されませんでした。

変数を整数型に変換するintval()関数を$ansに使うことで表示できるようになりました。このあたりはよく分かっていないのでもう少し勉強したいです。

おすすめの記事
スポンサーリンク