一辆汽车撞人后逃跑,4个目击者提供如下线索: 甲:牌照三、四位相同; 乙: 牌号为31**** 丙:牌照五、六位相同; 丁: 三~六位是一个整数的平方下面程序将借此线索帮你找到罪犯。
#include <stdio.h>
int main(){
int i,j,k,m,n;
for(i=0;i<=9;i++){
for(j=0;j<=9;j++){
if(i!=j){
k=i*1000+i*100+j*10+j;
for(m=31;m*m<=k;m++){
if(m*m==k){
n = 31*10000+k;
printf("肇事车辆号码为:%d。",n);
}
}
}
}
}
return 0;
}
那我们看另一种情况。
一位法官在审理一起盗窃案时,对涉及的4名嫌疑犯A、B、C、D进行了审问。4人分别供述如下: A:“罪犯在B、C、D三人之中。” B:“我没有作案,是C偷的。” C:“在A和D中间有一个是罪犯。” D:“B说的是事实。” 经过充分的调查,证实4人中只有两人说了真话,另外两人说的是假话,并且罪犯只有一个。请确定真正的罪犯。
代码也可轻松实现找出罪犯。
#include<stdio.h>
void main(){
int a,b,c,d,la,lb,lc,ld;
for(a=0;a<=1;a++){
for(b=0;b<=1;b++){
for(c=0;c<=1;c++){
for(d=0;d<=1;d++){
la=b||c||d;
lb=!b&&c;
lc=(a+d==1);
ld=lb;
if(la+lb+lc+ld==2&&a+b+c+d==1){
if(a){
printf("%d,%d,%d,%d\n",a,b,c,d);
printf("A是罪犯.\n");
}
else if(b){
printf("%d,%d,%d,%d\n",a,b,c,d);
printf("B是罪犯.\n");
}
else if(c){
printf("%d,%d,%d,%d\n",a,b,c,d);
printf("C是罪犯.\n");
}
else{
printf("%d,%d,%d,%d\n",a,b,c,d);
printf("D是罪犯.\n");
}
}
}
}
}
}
}