有点问题,最差的情况下,有可能称不出。
把12个球分为四组,每组3个:A B C D :
称第一次当A组等于B组,称第二次A组又等于C组时,可以判断出D组有问题,称第三次,D组的两个,如果不一样重,就无法判断出哪个球有问题了。
if: 如果
else if 否则,如果
!= 不等于
if (A=B) { //称第一次
if (A=C) { //称第二次
echo “D有问题!”;
if (D1=D2) { //称第三次
echo “D3有问题!”; //得到结果
}
else if (D1!=D2) { //称第三次
echo “不知道哪个有问题!”; //没有结果,要称多一次
}
}
else if (A!=C) { //称第二次
echo “说明C有问题,并知道C是重了还
也就知道了有问题的球是轻了
还是重了!”;
if (C1=C2) { //称第三次
echo “C3有问题!”; //得到结果
}
else if (C1!=C2) { //称第三次
echo “根据前面得到的轻重,判断
出有问题的球”; //得到结果
}
}
else if (A!=B) { //称第一次
if (A=C) { //称第二次
echo “B有问题,并知道是重了还是轻了”;
if (B1=B2) { //称第三次
echo “B3有问题”; //得到结果
}
else if (B1!=B2) { //称第三次
echo “根据前面得到的轻重,
得到有问题的球!”; //得到结果
}
}
else if (A!=C) { //称第二次
echo “A有问题,并知道是重了还是轻了”;
if (A1=A2) { //称第三次
echo “A3有问题!”; //得到结果
}
else if (A1!=A2) { //称第三次
echo “根据前面得到的轻重,判断
出有问题的球”; //得到结果
}
}
}