亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

C語言中的盜賊(小偷)問題詳解

 更新時間:2022年01月23日 17:26:47   作者:Ferry_24  
大家好,本篇文章主要講的是C語言中的盜賊(小偷)問題詳解,感興趣的同學趕快來看一看吧,對你有幫助的話記得收藏一下

問題描述:警察審問4名竊賊嫌疑犯?,F(xiàn)在已知,這4人當中僅有一名是竊賊,還知道這4個人中的每個人要么是誠實的,要么總是說謊。

這4個人給警察的回答如下。

甲說:“乙沒有偷,是丁偷的。”

乙說:“我沒有偷,是丙偷的。”

丙說:“甲沒有偷,是乙偷的。”

丁說:“我沒有偷。”

請根據(jù)這4個人的回答判斷誰是竊賊。

分析過程:突破點從丁開始,因為根據(jù)丁的回答是無法判斷的,而且我們可以發(fā)現(xiàn)甲乙丙三人的回答是十分相似的(如果不是ta,就是ta),我們現(xiàn)在先不去考慮甲乙丙誰說謊誰不說謊。我們先把甲乙丙丁設(shè)成ABCD,變量為1的是盜賊,那么

甲—B+D==1;

乙—B+C==1;

丙—A+B==1;

丁—A+B+C+D==1;

根據(jù)這四個人可以得到這四個條件

假定一個人是盜賊 代入這四個條件中

 第一種:

#include <stdio.h>
int main()
{
    int A,B,C,D;
    for(A=0; A<=1; A++)
        for(B=0; B<=1; B++)
            for(C=0; C<=1; C++)
                for(D=0; D<=1; D++)
                {
                    if(B+D==1&&B+C==1&&A+B==1&&A+B+C+D==1)
 
                        if(A)
                            printf("甲是竊賊\n");
                        else if(B)
                            printf("乙是竊賊\n");
                        else if(C)
                            printf("丙是竊賊\n");
                        else
                            printf("丁是竊賊\n");
                }
 
}

第二種:只用一個for循環(huán)就可以了 假定一個人為盜賊代入條件

#include <stdio.h>
int main()
{
    int i,A=1,B=0,C=0,D=0;
    for(i=0; i<=1; i++)
        if(B+D==1&&B+C==1&&A+B==1)
            break;
        else
        {
            if(i==1)
            {
                A=0;
                B=1;
            }
            if(i==2)
            {
                B=0;
                C=1;
            }
            if(i==3)
            {
                C=0;
                D=1;
            }
        }
    if(i==1)
        printf("甲是盜賊");
    if(i==2)
        printf("乙是盜賊");
    if(i==3)
        printf("丙是盜賊");
    if(i==4)
        printf("丁是盜賊");
 
}

到此這篇關(guān)于C語言中的盜賊(小偷)問題詳解的文章就介紹到這了,更多相關(guān)C語言盜賊問題內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:

相關(guān)文章

  • 淺析VSCode launch.json中的各種替換變量的意思 ${workspaceFolder} ${file} ${fileBasename} ${fileDirname}等

    淺析VSCode launch.json中的各種替換變量的意思 ${workspaceFolder} ${file} $

    這篇文章主要介紹了VSCode launch.json中的各種替換變量的意思 ${workspaceFolder} ${file} ${fileBasename} ${fileDirname}等,非常不錯具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-03-03
  • C語言多媒體框架GStreamer入門和概述

    C語言多媒體框架GStreamer入門和概述

    這篇文章主要介紹了C語言多媒體開源框架GStreamer,本文總結(jié)了多媒體框架GStreamer一些基本概念及流程,希望能給使用GStreamer開源庫的朋友提供一個借鑒或參考,需要的朋友可以參考下
    2022-07-07
  • C++ Primer注解之引用和指針

    C++ Primer注解之引用和指針

    這篇文章主要介紹了C++ Primer注解之引用和指針的相關(guān)知識,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-02-02
  • c++實現(xiàn)獲取當前時間(精確至秒,毫秒和微妙)

    c++實現(xiàn)獲取當前時間(精確至秒,毫秒和微妙)

    這篇文章主要為大家詳細介紹了c++實現(xiàn)獲取當前時間(可以精確至秒,毫秒和微妙)的相關(guān)知識,文中的示例代碼講解詳細,感興趣的小伙伴可以參考一下
    2023-11-11
  • 利用C++制作人生模擬器游戲的示例代碼

    利用C++制作人生模擬器游戲的示例代碼

    這篇文章主要為大家詳細介紹了如何利用C++制作一個當下很火的人生模擬器游戲,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下
    2023-05-05
  • 一文帶你掌握C++中的繼承

    一文帶你掌握C++中的繼承

    繼承機制是面向?qū)ο蟪绦蛟O(shè)計使代碼可以復(fù)用的最重要的手段,它允許程序員在保持原有類特性的基礎(chǔ)上進行擴展,增加功能,本文詳解介紹了C++中的繼承,感興趣的同學可以借鑒一下
    2023-05-05
  • C++詳細講解引用類型

    C++詳細講解引用類型

    引用指的是對一個對象的引用。那么什么是對象?在c++中狹義的對象指的是用類,結(jié)構(gòu),聯(lián)合等復(fù)雜數(shù)據(jù)類型來聲明的變量,如?MyClass?myclass,CDialog?mydlg,等等
    2022-07-07
  • 鏈接庫動態(tài)鏈接庫詳細介紹

    鏈接庫動態(tài)鏈接庫詳細介紹

    靜態(tài)鏈接庫.lib和動態(tài)鏈接庫.dll。其中動態(tài)鏈接庫在被使用的時候,通常還提供一個.lib,稱為引入庫,它主要提供被Dll導(dǎo)出的函數(shù)和符號名稱,使得鏈接的時候能夠找到dll中對應(yīng)的函數(shù)映射
    2012-11-11
  • C/C++ Socket設(shè)置接收超時時間的多種方法

    C/C++ Socket設(shè)置接收超時時間的多種方法

    網(wǎng)絡(luò)編程中經(jīng)常需要處理的一個問題就是如何正確地處理Socket超時,對于C/C++,有幾種常用的技術(shù)可以用來設(shè)置Socket接收超時時間,在這篇文章中,我們將詳細介紹如何在C/C++中設(shè)置Socket的非阻塞模式以及如何配置接收超時時間,需要的朋友可以參考下
    2024-01-01
  • C++野指針和懸空指針的實現(xiàn)方法

    C++野指針和懸空指針的實現(xiàn)方法

    野指針和懸空指針是指針中常見的兩個概念,本文詳細的介紹了這兩種的使用,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-08-08

最新評論