首页 > 其他 > 详细

如何编程解决逻辑推理题

时间:2014-03-05 20:20:35      阅读:546      评论:0      收藏:0      [点我收藏+]

这篇文章里将不断更新本人在编程语言的学习中遇到的逻辑推理题。

 


 

2014/3/5

1.甲乙丙3位球迷分别猜测半决赛中ABCD四人的名次,如下:

甲:A1B2

乙:C1D3

丙:D2A3

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include<iostream>
using namespace std;
int main()
{
int a,b,c,d;
for(a=1;a<5;a++)
   for(b=1;b<5;b++)
      for(c=1;c<5;c++)
         for(d=1;d<5;d++)
 
             if( (a==1) + (b==2)==1 &&
                 (c==1) + (d==3)==1 &&
                 (d==2) + (a==3)==1 &&
                 (a==b)+(a==c)+(a==d)+(b==c)+(b==d)+(c==d)==0 )
            {
               cout<<"a="<<a<<" b="<<b<<" c="<<c<<" d="<<d<<endl;
               return 0;
            }
return 1;
}

结果:a=3 b=2 c=1 d=4

 

2.日本某地发生了一件谋杀案,警察通过排查确定杀人凶手必为4个嫌疑犯的一个。以下为4个嫌疑犯的供词。
A说:不是我。
B说:是C。
C说:是D。
D说:C在胡说
已知3个人说了真话,1个人说的是假话。现在请根据这些信息,写一个程序来确定到底谁是凶手。

bubuko.com,布布扣
#include<stdio.h>
int main()
{
    for(int killer=A;killer<=D;killer++)
       if( (killer!=A)+(killer==C)+(killer==D)+(killer!=D)==3 )
       {
           printf("The killer is %c",killer);
           return 0;
       }
return 1;
}
bubuko.com,布布扣

 

结果:The killer is C

如何编程解决逻辑推理题,布布扣,bubuko.com

如何编程解决逻辑推理题

原文:http://www.cnblogs.com/moi7/p/3583177.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!