小偷问题:A,B,C,D四个人,A说:我不是小偷;B说:C是小偷;C说:D是小偷;D说:C冤枉人。
#include
#include
main()
{
int a[5],h[5],i; //h数组代表4个人说的是真话还是假话,a数组表示a,b,c,d
for (i=1;i<=4;i++)
{
h[1]=h[2]=h[3]=h[4]=1; //默认4个人都是真话
a[1]=a[2]=a[3]=a[4]=0; //默认4个人都不是小偷
h[i]=0; //选择其中1人说假话
if (h[4]==1) {h[3]=0;} else {h[3]=1;} //因为这个是对其他真假话的判断,会影响下面的判断,所以要放最前面
if (h[1]==1) {a[1]=0;} else {a[1]=1;}
if (h[2]==1) {a[3]=1;} else {a[3]=0;}
if (h[3]==1) {a[4]=1;} else {a[4]=0;}
if ((a[1]+a[2]+a[3]+a[4])==1) //等于1就是只有1个小偷,其他都是0(不是小偷)
{
for (i=1;i<=4;i++)
{
if (a[i]==1) {printf("%d
",i);} //输出小偷
}
}
}
getch();
return 0;
}
C是小偷,四个人中也只有C是小偷
分析:题目的意思是只有一个是小偷,4个人中有一个人说谎,说谎的人就是小偷。扣住这一点分别假设某人为小偷,来判别4个人说的话真假,当3个人说的话是真的,就是这个题的解。用C++编程如下:#include<iostream>
using namespace std;
int main()
{
char thief;
for (thief='a';thief<='d';thief++)
if ((thief!='a')+(thief=='c')+(thief=='d')+(thief!='d')==3) cout<<thief<<endl;
}
我不会PASCAL语言 ,但你可以转化一下就行了,程序输出结果为C,C是小偷。那我们代入4个人说的话:
1、A说我不是小偷,成立。
2、B说C是小偷,成立。
3、C说D是小偷,不成立。
4、D说C冤枉人(D不是小偷),成立。
所以这题的最终解是C是小偷,大家快来抓住他啊!嘿嘿!
曾经有学一会儿delphi,也是pascal语言为基础的,那我就用在delphi编一个吧:
procedure TForm1.Button1Click(Sender: TObject);
var
thief:char;
begin
for thief:='a' to 'd' do
begin
if (ord(thief<>'a')+ord(thief='c')+ord(thief='d')+ord(thief<>'d'))=3 then edit1.Text:=edit1.Text+' '+thief;
end;
end;
请你转换一下就OK了。以上在delphi7.0编译通过。
题目的意思是只有一个人在说谎。
①如果a说谎,那么a是小偷。那么b说c是小偷就是假的。所以假设不成立。
②如果b说谎,那么c说d是小偷是真的,d说c冤枉人就是假的。所以假设也不成立。
③如果c说谎,那么d不是小偷,d说c冤枉人是真的,b说c是小偷是真的,a说自己不是小偷也是真的。符合逻辑。
④如果d说谎,那么c没有冤枉人,d是小偷。b说c是小偷就是假的。所以假设不成立。
∴c在说谎。
如有疑问欢迎追问
如果满意谢谢采纳
往往最着急说不是小偷的人是小偷
所以说A是小偷
我说对了吗?
哈哈.....
program l_thief;
var
thief:char;
procedure findthief;
var
i:char;
begin
for i:=\'A\' to \'D\' do
begin
if ord(i<>\'A\')+ord(i=\'C\')+ord(i=\'D\')+ord(i<>\'D\')=3 then break;
end;
thief:=i;
end;
begin
findthief;
writeln(thief);
end.
我想B应该是,B为什么知道C是小偷!
语法问题:“提供a、b或c。”与“提供a,b或c。”有什么区别吗? 意思...
你好,,从标点就可以判断了哦~提供a、b或c :顿号是表示选择性的,说明是让你从abc三个当中选择一个即可。提供a,b或c :逗号是用在并列成分之间的,,意思是a和b的地位是一样的,属同一类,都要提供。“或”的意思你很明确,就是选择,二选一的意思。所以这里是说选了a以外,在b和...
A、B、C三个学生去法国某海滨城市度假。他们住进一家旅馆每人交了100法 ...
根本不存在10法朗的问题 房钱是250元,学生共出270元,会计拿的20元=270-250
ABC代表三个数,并且有如下关系: 1:A+A=B+B+B; 2:B+B+B=C+C+C+C; 3...
你好,很高兴能回答您的问题!A+A=B+B+B→2A=3B ① B+B+B=C+C+C+C→3B=4C ② 由②得B=4C\/3 由①、②得2A=3B=4C ∴2A=4C ∴A=2C ∵A+B+C+C=800 即A+B+C+C=A+B+2C=2C+4C\/3+2C=16C\/3=800 ∴C=150 ∴A=2C=2×150=300 B=4C\/3=200 以上就是我的参...
不理解一个问题三相电路中,三个电源a相b相c相依次相差120度?_百度知...
三相电源的电压相量图如上图,其中:Ua=U∠0°,Ub=U∠-120°,Uc=U∠120°,这个方向为顺时针方向,也就是电源相序旋转的方向。但是在坐标系中,角度的增加是按照逆时针进行的,所以Ub=U∠-120°=U∠(360°-120°)=U∠240°。φa=0°,φb=240°,φc=120°。φc-φa=120°=φb...
求10个脑筋急转弯 要问题和答案
37 A和B可以相互转化,B在沸水中可以生成C,C在空气 中氧化成D,D有臭鸡蛋气味,问A,B,C,D各是什么?答案:A 鸡 B 鸡蛋 C 熟鸡蛋 D 臭鸡蛋38 什么剑是透明的?答案:看不见39 谁给刘德华喝忘情水?答案:啊哈 (阿哈,给我一杯忘情水……)40 为什么你看不到上帝的老二?答案:天机不可泄露41 小白兔为什么要...
下列A,B,C,D哪个代码(A,B,C,D)放入程序中导致编译错误?
A是override B不是override,因为返回值与父类不一样 C和D是overload,overload可以在不同类里
笑话、谜语
1、松下为什么没索尼强?答案:panasonic(怕了索尼哥)。2、A和C谁比较高呢?答案:C比较高(因为ABCDA比C低)。3、茉莉花、太阳花、玫瑰花哪一朵花最没力?答案:茉莉花(好一朵没力[美丽]的茉莉花)。4、猩猩最讨厌什么线?答案:平行线。平行线没有相交(香蕉)。5、橡皮、老虎皮、狮子皮...
...有A.B.C三个随机事件,将事件:A,B至少有一个出现,C不出现用A.B.C表...
亲,我想你还没有完全理解概率的意思。(A+B)*C补 A+B表示事件A,B至少有一个发生,C的补表示事件C不发生,即C的对立面;两者相乘表示A,B至少有一个发生和事件C不发生这两个条件要同时吻合,即这两个事件要同时发生。你用A+B发生的概率减去C发生的概率不能说明同时发生 ...
“侵犯财产罪”专题研究之三:如何处理抢劫罪中的疑难问题
例一,A与B共同犯盗窃罪时,被C发现,A与B逃跑,A逃走了,但B被C抓捕后,对C实施暴力导致C重伤。显然,A与B的行为构成盗窃罪的共犯,但由于B另触犯了抢劫罪,所以,对B只能认定为一个抢劫罪。例二,甲邀约乙为自己的盗窃行为望风,乙同意,并按约定前往丙的住宅外望风;但甲在盗窃时,为窝藏赃物而当场使用暴力,乙却...
二难推理的四种类型的特点
二难推理有以下4种形式:1、简单构成式。A或者B,如果A则C,如果B则C,所以,C。2、简单破坏式。不B或者不C,如果A则B,如果A则C,所以,并非A。3、复杂构成式。A或者B ,如果A则C,如果B则D,所以,C或者D。4、复杂破坏式。不C或者不D,如果A则C,如果B则D,所以,不A或者不B 。这...
绪邰氟罗:[答案] C是小偷 因为如果A说假话,那么BCD就是真话,可是CD前后矛盾,所以A是真话 由此一直推断 如果D说假话,那ABC就是真话 因为BC矛盾,所以D是真话 如果C是假话,那么ABD就是真话,与实际相符 ,所以C是小偷
杭锦后旗19878556207: 警察抓到有盗窃嫌疑的A、B、C、D四人.A说:“是B做的.”B说:“是D做的.”C说:“不是我做的.”D说:“B在说谎.”后来证实4人中只有一人... - ?
绪邰氟罗:[答案] D说的是B在说谎么 如果是的话 我们可以这么分析 啊 首先 只有一个人说了真话 那么我们将这个真话 分别 安放到 四个人身上 如果A是真话的话 我们可知 B是嫌疑人 如果B是的话 我们可知 D是嫌疑人 如果是C是真话的话 我们可知 我们可知 除了C之...
杭锦后旗19878556207: 一位警察,抓获4个窃嫌疑犯A,B,C,D,他们的供词如下:A:不是我偷的; B:是A偷的; C:不是我; D:是B偷的.他们4人只有1人说了真话.谁是小偷? - ?
绪邰氟罗:[答案] 一位警察,抓获4个窃嫌疑犯A,B,C,D,他们的供词如下:A:不是我偷的; B:是A偷的; C:不是我; D:是B偷的.他们4人只有1人说了真话.谁是小偷?由于A与B的话互相矛盾,(不会都说谎)所以AB两人必有且只有一人说真话,又...
杭锦后旗19878556207: 几道逻辑推理问题02一位警察,抓获4个盗窃嫌疑犯A、B、C、D,他们的供词如下:A说:“不是我偷的”.B说:“是A偷的”.C说:“不是我”.D说:“是... - ?
绪邰氟罗:[答案] C是小偷 A说的是真的,“不是我偷的” B说的是假的 A、B矛盾只能一个是真的 C说的是假的,所以是C偷的 D说的是假的,所以肯定不是B,也验证了C为小偷~
杭锦后旗19878556207: ...抓获4个盗窃嫌疑人:A B C D,他们的供词如下A:“不是我偷的” B:“是A偷的”C:“不是我”D:“是B偷的”他们4人中,只有一人说真话,你知道小偷是... - ?
绪邰氟罗:[答案] 小偷是C 因为A说“不是A偷的”,B说“是A偷的”,所以他们两人一定一人说真话,一人说假话.所以C说的是假话.所以是C偷的.
杭锦后旗19878556207: ...B、C、D,他们的供词如下:A说:“不是我偷的”;B说:“是A偷的”;C说:“不是我”;D说:“是B偷的”.他们4个人中只有一个人说了真话,( )是... - ?
绪邰氟罗:[答案] 是C
杭锦后旗19878556207: 问: 某珠宝盗窃案中,警察抓住了四个嫌疑犯.经查明,作案人肯定是A、B、C、D四人中的一人.他们的口供如下A:那天我回乡下,不在现场B:D是盗宝者C:... - ?
绪邰氟罗:[答案] A是
杭锦后旗19878556207: 某珠宝盗窃案中,抓住了四个嫌疑犯,经查明,作案人肯定是a、b、c、d四个人中的一个.他们的口供如下:a::“那天我回乡下,不在现场.”b:“d是盗宝者.... - ?
绪邰氟罗:[答案] D说的是真话 A是盗宝者 首先A的口供里跟bcd都没关系 先不考虑A 只有一个人说真话 假设B说的是真话,那D就是凶手,c说的是假话,d说的也是假话,他们是没仇,那就是没冤枉他,那就是他是凶手,a说的也就是假话,那a也在现场也可能是凶...
杭锦后旗19878556207: 朝阳小区某住户家遭小偷偷窃,警察叔抓到了四个嫌疑人:A,B,C,D.经过一番审问警察发现a,b说了假话C,D.A:小偷C - ?
绪邰氟罗: c是小偷 A 说不是小偷,但他说假话 所以B不是小偷 B说D是小偷,但他是说假话的,所以D也不是小偷 C说他可以证明A不是小偷,尽管他是小偷,但他是讲真话的所以A也不是小偷,只剩c有可能是小偷了
杭锦后旗19878556207: 某珠宝盗窃案中,抓住了四个嫌疑犯,经查明,作案人肯定是A,B,C,D四人中的一个.他们的口供如下:A: - ?
绪邰氟罗: (1)假设B说的是真话,那D就是盗宝者,那么:①C说的是假话,盗宝者是D,不是B;②D说的也是假话,他们是没仇,那就是没冤枉他,他就是盗宝者;③A说的也就是假话,那A也在现场也可能是盗宝者,那D是盗宝者就不成立;所以此假设不成立. (2)假设D说的是真话,那么:①B说的是假话,D不是盗宝者,②那么C说的也是假话,那么B不是盗宝者,③A说的也是假话,所以A就在现场,并且作案;故A就是盗宝者; 答:根据上述推理说明D说的话是真话,A是盗宝者.