CCF CSP 201903 2 二十四點

2022-06-05 23:12:19 字數 1304 閱讀 7117

二十四點是一款著名的紙牌遊戲,其遊戲的目標是使用3個加減乘除運算使得4張紙牌上的運算結果為24。

定義每乙個遊戲由4個從1-9的數字和3個四則運算符組成,保證四則運算符將數字兩兩隔開,不存在括號和其他字元,運算順序按照四則運算順序進行。其中加分用符號+表示,減法用符號-表示,乘法用小寫字母x表示,除法用符號/表示。在遊戲裡除法為整除,例如2/3=0,3/2=4,4/2=2。

老師給了你n個遊戲的解,請你編寫程式驗證每個遊戲的結果是否為24。

從標準輸入讀入資料。

第一行輸入乙個整數n,從第2行開始開始到第n+1行中,每一行包含乙個長度為7的字串,為上述的24點遊戲,保證資料格式合法。

從標準輸入讀入資料。

第一行輸入乙個整數n,從第2行開始到第n+1行中,每一行包含乙個長度為7的字串,為上訴的24點遊戲,保證資料格式合法。

輸出到標準輸出。

包含n行,對於每乙個遊戲,如果其結果為24則輸出字串yes,否則輸出字串no。

ccf201903 2二十四點

二十四點 使用 3 個加減乘除運算使得 4張紙牌上數字的運算結果為 24。定義每乙個遊戲由 4 個從 1 9 的數字和 3個四則運算符組成,保證四則運算符將數字兩兩隔開,不存在括號和其他字元,運算順序按照四則運算順序進行。其中加法用符號 表示,減法用符號 表示,乘法用小寫字母 x 表示,除法用符號 ...

CCF 201903 2二十四點

棧的簡單應用,中綴表示式的計算。分兩步進行 定義操作符的優先順序,用棧將中綴表示式轉為字尾表示式。再次用棧計算字尾表示式的值。注意 這裡只有加減乘除沒有括號,可以不特意定義優先順序陣列。數字是1 9,直接將數字字元轉成數字即可,不會有大於10的數字。除法是去尾整除,計算過程不會出現小數,都是整數。c...

ccf201903 2二十四點

這個題學了資料結構之後其實非常簡單。就乙個運算子棧digit,乙個操作符棧op.那麼邏輯是,如果是數字,直接進數字棧。如果是操作符 如果棧頂優先順序高於當前操作符。那麼先讓digit棧的棧頂兩元素做當前運算。然後op棧頂彈出,直到棧頂元素的優先順序小於當前的操作符,所以這裡需要加上乙個迴圈。而不是簡...