行測類中的推理題目如何用編程解決(C語言實現)

一直以來以爲推理題目是行測題,用草稿畫畫推理就可以做出答案,第一次留意到這種問題還是挺懵的,要用編程語言來解決推理題目。以下面這種題目來看看用C語言怎麼解決這個問題的。

在廣州某個夜晚,發生一起謀殺案,警察通過排查確定殺人兇手是 4 個嫌疑中的一個,以下是四個人的說詞
A 說:不是我
B 說:是 C
C 說:是 D
D 說:C 在胡說
其中只有 3 個人說了真話,1 個人說了假話,現在根據這些信息,寫一個程序來確定哪個是兇手。

如果你是求職於國企類,銀行類,公務員的話,這種題目就是行測類題目,突破口就在“矛盾”的地方,往往找出矛盾的地方就可以突破這道題了。

這裏的矛盾就在於:B的觀點和D觀點,他們的觀點是相反的,同時這裏4人4個觀點,3對1錯,那麼B和D肯定1錯1對,那麼A和C的觀點肯定是對的,C說兇手是D,那麼兇手就是D。

現在我們要考慮用C語言來解決這個問題,這裏有4個人,我們可以依次設定每個人是兇手,然後把這種情況下代入到ABCD這4個觀點,同時滿足3對1錯的情況。代碼如下:

#include <stdio.h>
int main(){
        char murder;
        for(murder='A';murder<='D';murder++){
                if((murder!='A')+(murder=='C')+(murder=='D')+(murder!='C')==3){
                        printf("murder is %c\n",murder);
                        break;
                }

        }
        return 0;
}

輸出之後果然是D。以上就是推理題用編程去解決的方法。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章