有一天你忘记了今天是星期几,你找来了八个人,让他们每人说两句话,第一句是星期几,另一句今天不是星期几,两句中一句真,一句假,可能第一句为真,也可能第二句为真。最后你确定今天是星期几,并输出。(输入描述,8行,每行是星期几的阿拉伯数字。输出描述一个数字,表示星期几)
你确定这能确定出来么,万一八个人都说:今天是星期一,今天不是星期一,咋知道?
这个题的漏洞有点大啊,8个人说相同的话,就是今天星期一(假话),今天不是星期二(真话),你说今天星期几?你又不知道他那句话是真的。 所以这八个人说的十六句话应该不同。
function printDate(arr) {
var x,num;
for(x = 1;x < 8;x++){
num = 0;
for(var j = 0;j < 8; j++){
if(((x == arr[j][0]) == 1&&(x != arr[j][1]) == 0) || ((x == arr[j][0]) == 0&&(x != arr[j][1]) == 1)){
num++;
if(num == 8){
console.log(x);
break;
}
}
}
}
}
var arr1 = [[1,2],[2,6],[3,4],[5,1],[7,7],[1,5],[1,4],[4,2]];
var arr2 = [[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2]];
printDate(arr1);//7
printDate(arr2);//3,4,5,6,7
所以这个题有点问题。