資訊數字化解邏輯題分享

2021-08-30 17:03:43 字數 1347 閱讀 2539

[b]1. 前提條件:[/b]

[color=red][b]將邏輯題目中的資訊用數位化描述。[/b][/color]

[b]2. 範例:[/b]

(1) 例1:

問題描述: 警察局抓了a、b、c、d四名偷竊嫌疑犯,其中只有一人是小偷。審問結果如下。

a說:"我不是小偷。"

b說:"c是小偷。"

c說:"小偷肯定是d。"

d說:"c在冤枉人。"

現在已經知道4個人中3人說的是真話,一人說的是假話,問到底誰是小偷?

[color=blue][b]問題分析:將a、b、c、d四人進行編號,分別為1,2,3,4。

用x存放小偷的編號,則x的取值範圍從1~4。

4個人所說的話可以分別寫成:

a說的話:x != 1

b說的話:x == 3

c說的話:x == 4

d說的話:x != 4[/b][/color]

**如下:

package boke.written;

public class infotonumber

if (x == 3)

if (x == 4)

if (x != 4)

if (s == 3) }}

}輸出結果:c是小偷

(2) 例2:

問題描述: 3位老師對某次數學競賽進行了**。他們**的結果如下。

甲說:學生a得第一名,學生b得第三名。

乙說:學生c得第一名,學生d得第四名。

丙說:學生d得第二名,學生a得第三名。

競賽結果表明,他們都說對了一半,說錯了一半,並且無並列名次,求a、b、c、d各自的名次。

[color=blue][b]

問題分析: 用數字1、2、3、4來表示學生a、b、c、d獲得的名次。

甲說的話:(a == 1) + (b == 3) = 1;

已說的話:(c == 1) + (d == 4) = 1;

丙說的話:(d == 2) + (a == 3) = 1;

由於無並列名次,四個人的名次之和等於10 = 1 + 2 + 3 + 4。[/b][/color]

**如下:

public class infotonumber2 

if ((c == 1) || (d == 4))

if ((d == 2) || (a == 3))

if (bool1 == true && bool2 == true && bool3 == true) }}

}}}}

}}輸出結果:a = 4 b = 3 c = 1 d = 2

猜數字邏輯題!

題目 1 20的兩個數把和告訴a,積告訴b,a說不知道是多少,b也說不知道,這時a說我知道了,b接著說我也知道了,問這兩個數是多少?再補充一道 病狗問題 村子裡有50戶人,每戶人養一條狗,有一天村子裡出現了瘟疫,確定存在有瘋狗了,而每戶人只能看見別人的狗瘋了,看不見自己狗瘋了,並且確定自己狗瘋了就會...

有趣的邏輯數字題

個教授邏輯學的教授,有三個學生,而且三個學生均非常聰明!一天教授給他們出了乙個題,教授在每個人腦門上貼了一張紙條並告訴他們,每個人的紙條上都寫了乙個正整數,且某兩個數的和等於第三個!每個人可以看見另兩個數,但看不見自己的 教授問第乙個學生 你能猜出自己的數嗎?回答 不能,問第二個,不能,第三個,不能...

邏輯題 分享一道在UC筆試中遇到的邏輯題

題目是這樣的 有十袋金子,每袋中有十個金子,每個金子重10克,有一袋金子是假的,每個金子重9克,請問如何通過一次稱量後,找出這一袋假金子。後來通過別人的答案思考了一下,其實不難,要理清思路 如果說是要找出假金子的那一袋,那就是說要找出哪一袋,而這個哪一袋肯定要通過編號才能指明清楚。但是最終要指明是第...