藍橋杯 趣味邏輯推理二(2017 2 17)

2021-07-27 03:12:54 字數 2334 閱讀 6796

一、誰做了好事?

某校有4位同學中的一位做了好事不留名。表揚信來了之後,校長問這4位是誰做的好事。

a說:不是我;

b說:是c;

c說:是d;

d說:他胡說。

已知3個人說的是真話,1個人說的是假話。請根據這些資訊,程式設計找出做了好事的人。

【分析】可設定乙個迴圈,迴圈4次,將4個同學的話表示成邏輯表示式,進行判斷。

源**:

#include int main()

return 0;

}

程式截圖:

二、黑與白有a,b,c,d,e,五人,每人額頭上都帖著一張或黑或白的紙。五人對坐,每人都能看見別人的,但看不見自己的。而且黑的撒謊,白的誠實。

a說:「我看見有三個人的是白紙,一人是黑紙」。

b說:「我看見四個人的都是黑紙」。

c說:「我看見有乙個人的是白紙,三個人是黑紙」。

d說:「我看見四個人的都是白紙」。

e什麼也沒有說。

問這5個人誰的額頭上貼的是白紙,誰的額頭上貼的是黑紙?

【分析】看abcd四人說的話,分別分析為真話和假話時的情況。

源**:

#include int main()}}

}

} return 0;

}

程式截圖:

三、誰家孩子跑的最慢?張王李三家各有三個小孩。

一天,三家的九個孩子在一起比賽短跑,規定不分年齡大小,跑第一得9分,跑第二得8分,依此類推。

比賽結果是各家的總分相同,且這些孩子沒有同時到達終點的,也沒有一家的兩個或三個孩子獲得相連的名次。

已知獲第一名的是李家的孩子,獲得第二的是王家的孩子。問獲得最後一名的是誰家的孩子?

【分析】此題可抽象為乙個「陣列填數」模型,其中的已知條件:(1)該場比賽總分為1+2+3+4+5+6+7+8+9=45分

(2)三家孩子總分相同,故每家孩子得分為15

(3)由於獲得第一名的是李家的孩子,獲得第二名的是王家的孩子,因此可推知獲得第三名的一定是張家的孩子,否則其他兩家孩子的總分會超過15

(4)由於這9個孩子的名次不存在並列的情況,且同一家的孩子不會獲得相連名次,因此結合(3)可推知獲得第4名的一定不是張家的孩子

(5)如果將得分分為三檔:高分(7~9)、中等分(4~6)、低分(1~3),可推出每家3個孩子的得分乙個為高分、乙個為中等分、乙個為低分。

因此可用乙個二維陣列a[3][3]儲存三家9個孩子的得分,且每家得分按高分(7~9)、中等分(4~6)、低分(1~3)的順序儲存。

源**:

#include int main()}}

} } for(i=0;i<3;i++) //輸出三家孩子的成績

return 0;

}

程式截圖:

藍橋杯 趣味邏輯推理一(2017 2 16)

邏輯推理類問題 窮舉法 關係與邏輯運算子 綜合運用 1.新郎和新娘 三對情侶參加婚禮,三個新郞為a b c,三個新娘為x y z。有人不知道誰和誰結婚,於是詢問了六位新人中的三位,但聽到的回答是這樣的 a說他將和x結婚 x說她的未婚夫是c c說他將和z結婚。這人聽後知道他們在開玩笑,全是假話。請程式...

藍橋杯演算法提高 扶老奶奶過街(邏輯推理)

一共有5個紅領巾,編號分別為a b c d e,老奶奶被他們其中乙個扶過了馬路。五個紅領巾各自說話 a 我和e都沒有扶老奶奶 b 老奶奶是被c和e其中乙個扶過大街的 c 老奶奶是被我和d其中乙個扶過大街的 d b和c都沒有扶老奶奶過街 e 我沒有扶老奶奶 已知五個紅領巾中有且只有 個人說的是真話,請...

藍橋杯 趣味整數問題二(2017 1 31)

一 無重複的三位數 程式設計求 用1.2.3.4共4個數字組成的互不相同且無重複數字的三位數以及個數 1 列舉 排列組合問題 2 效率改進點 依次列舉三位數字 三層迴圈 若前兩位相同則無需進入第三層迴圈 源 include include int main printf 能組成的三位數個數為 d n...