總網頁瀏覽量

2018年1月2日 星期二

2017.10月大學程式設計先修檢測 實作題 第一題(邏輯運算子 Logic Operators)

邏輯運算子(Logic Operators)
問題描述
小蘇最近在學三種邏輯運算子 AND、OR和XOR。這三種運算子都是二元運算子,也就是說在運算時需要兩個運算元,例如a AND b。對於整數a與b,以下三個二元運算子的運算結果定義如下列三個表格:
舉例來說:
(1) 0 AND 0 的結果為0,0 OR 0 以及0 XOR 0 的結果也為0。
(2) 0 AND 3 的結果為0,0 OR 3 以及0 XOR 3 的結果則為1。
(3) 4 AND 9 的結果為1,4 OR 9 的結果也為1,但4 XOR 9的結果為0。
請撰寫一個程式,讀入a、b 以及邏輯運算的結果,輸出可能的邏輯運算為何。
輸入格式
輸入只有一行,共三個整數值,整數間以一個空白隔開。第一個整數代表a,第二個整數代表b,這兩數均為非負的整數。第三個整數代表邏輯運算的結果,只會是0 或1。
輸出格式
輸出可能得到指定結果的運算,若有多個,輸出順序為AND、OR、XOR,每個可能的運算單獨輸出一行,每行結尾皆有換行。若不可能得到指定結果,輸出IMPOSSIBLE。(注意輸出時所有英文字母均為大寫字母。)
範例一:輸入
0 0 0
範例一:正確輸出
AND
OR
XOR
範例二:輸入
1 1 1
範例二:正確輸出
AND
OR
範例三:輸入
3 0 1
範例三:正確輸出
OR
XOR
範例四:輸入
0 0 1
範例四:正確輸出
IMPOSSIBLE

Python 程式碼:
a,b,c=input().split()
a=int(a)
b=int(b)
c=int(c)
if a==0 and b==0 and c==0:
      print(" AND\n OR\n XOR\n")
elif a==0 and b==0 and c!=0:
      print("IMPOSSIBLE")
elif a==0 and b!=0 and c==0:
      print("AND")
elif a==0 and b!=0 and c!=0:
      print(" OR\nXOR")
elif a!=0 and b==0 and c==0:
      print("AND")
elif a!=0 and b==0 and c!=0:
      print(" OR\n XOR")
elif a!=0 and b!=0 and c==0:
      print("XOR")
elif a!=0 and b!=0 and c!=0:
      print(" AND\n OR")

沒有留言:

張貼留言