打印

[原创] 编程智力题目答对说明智力不是一般的高

编程智力题目答对说明智力不是一般的高

有 A  B   C   D  四名偷盗嫌疑犯, 其中一人是小偷, 审问中,A 说我不是小偷,B说:C 是小偷 , C说 :小偷肯定是D  D说:C在冤枉人  有三人说真话 一人说假话 问到底谁是小偷。

TOP

A B C D 为 1 2 3 4
则题为  1 说我不是小偷,2说:3 是小偷 , 3说 :小偷肯定是4  4说:3在冤枉人
整理得  1 说1不是小偷,2说:3 是小偷 , 3说 :小偷肯定是4  4说:说4不是小偷
用0代表不是小偷
则为 1 0,2说:3 , 3说 :4  4说:0
即 0 3 4 0
放如到数组A中   枚举
pascal语言 代码如下(绝对原创 ,  手都打麻了)
program thief;
var
  i,j,s:integer;
  a:array[1..4] of integer;
Begin
  s:=0;
  for j:=1 to 4 do
   read(a[j]);
  for i:=1 to 4 do
   begin
    for j:=1 to 4
     if (a[j]=i)or (a[j]=0) then s:=s+1;
    if s=3 then writeln (i);
   end;
End.
如有错误  那也没法   才学没多久

[ 本帖最后由 kuso 于 2008-6-9 10:35 编辑 ]

TOP

离散数学里面有的

TOP

虽然我也感觉我智商不是一般的高,不过这题目好像没什么说服力~~~
牵着你的手,一步一步向前走~~~

TOP

这和编程有关?郁闷了,应该和数学有关吧?……这题目几年前就看过了…

TOP

回复 2# 的帖子

大哥 你写的是C代码吗 for都写成什么了

TOP

c,d肯定一个人说假话,所以b一定说的是真话,所以我认为小偷是c。。。。
本人没有学过离散数学。。。
学了6年了,还是初学者。。。。。。。。

TOP

很容易看明白,C说假话,只是不知道怎么编。。。。。

TOP

Processed in 0.033740 second(s), 5 queries, Gzip enabled.