華為2020機試邏輯題

2021-10-23 04:28:52 字數 1262 閱讀 4185

邏輯計算

題目描述:

常用的邏輯計算有and(表示為&);or(表示為|);not(表示為!)。其中,他們的優先順序關係是not(!)>and(&)>or(|)。

輸入描述:

1、測試用例中間無空格,無需考慮空格。

2、測試用例表示式只會出現如下字元:「0」,「1」,「(」,「)」,「&」,「|」,「!」。

3、測試用例所給的輸入都是合法輸入,無需要考慮非法輸入。

4、測試用例長度不會超過128個字元。

5、括號可以重複巢狀。

例如:1 | ( 1 & 0 )                       返回值:1

1 & 0 | 0 & 1                     返回值:0

! 0 & 1 | 0                          返回值:1

( ( ! 0 & 1 ) ) | 0                 返回值:1

輸出描述:

輸出邏輯運算後的最終結果:0或者1

示例1:

輸入:! ( 1 & 0 ) | 0 & 1

輸出:1

示例2:

輸入:! ( 1 & 0 ) & 0 | 0

輸出:0

def fun(str):

k = 0

while len(str) != 1:

str = str.replace('!1', '0')

str = str.replace('!0', '1')

str = str.replace('1&0', '0')

str = str.replace('0&1', '0')

str = str.replace('1&1', '1')

str = str.replace('0&0', '0')

str = str.replace('1|1', '1')

str = str.replace('0|1', '1')

str = str.replace('1|0', '1')

str = str.replace('0|0', '0')

str = str.replace('(1)', '1')

str = str.replace('(0)', '0')

k += 1

if k > 20:

break

return str

string = input()

print(fun(string))

華為機試刷題總結

1,最小公倍數 兩數之積 最大公約數。2,牛頓迭代思想,xn 1 xn f xn f xn 即x x x3 y 3 x2 2 x y x x 3 include cout5,氣泡排序 include強大的標頭檔案功能 6,表示數字,isdigit 判斷數字 7.記票統計,include 8.放蘋果,...

華為2012機試第三題

3 作業系統任務排程問題。作業系統任務分為系統任務和使用者任務兩種。其中,系統任務的優先順序 50,使用者任務的優先順序 50且 255。優先順序大於255的為非法任務,應予以剔除。現有一任務佇列task,長度為n,task中的元素值表示任務的優先順序,數值越小,優先順序越高。函式scheduler...

2020復旦機試

題目描述 給定五個 0 9 範圍內的整數 a1,a2,a3,a4,a5。如果能從五個整數中選出三個並且這三個整數的和為10 的倍數 包括 0 那麼這五個整數的權值即為剩下兩個沒被選出來的整數的和對 10 取餘的結果,顯然如果有多個三元組滿 和是 10 的倍數,剩下兩個數之和對 10 取餘的結果都是相...