分每组三枚硬币 共四个小组a b c d,先测一下ab组(一次) 再测ac组(两次) 就能找到 假币的那分每组三枚硬币 共四个小组a b c d,先测一下ab组(一次) 再测ac组(两次) 就能找到 假币的那组,假设假币 在 a或b或c组,取两枚硬币(三次) 就能找到假币 并判断重量。如果假币在d组……我就die了……再见!我尽力了。(大晚上的不睡觉,我干嘛呢这是)...丹妮尔妮丹
分每组三枚硬币 共四个小组a b c d,先测一下ab组(一次) 再测ac组(两次) 就能找到 假币的那分每组三枚硬币 共四个小组a b c d,先测一下ab组(一次) 再测ac组(两次) 就能找到 假币的那组,假设假币 在 a或b或c组,取两枚硬币(三次) 就能找到假币 并判断重量。如果假币在d组……我就die了……再见!我尽力了。(大晚上的不睡觉,我干嘛呢这是)...丹妮尔妮丹
int main() {
Result res;
try {
res = findFake(coins_);
} catch (int) {
std::cout << "The anucel has run out of its life before making it to "
"find the fake. Exiting ..."
<< std::endl;
return 0;
}
std::cout << "Index of fake coin: " << res.fakeIndex + 1 << ", which is "
<< (res.mass == Result::Mass::HEAVY ? "heavier" : "lighter")
<< " than others." << std::endl;
return 0;
}
分三组,每组4个,令三组名为a b c,刚假币必在其中一组,另两组相等
列出a分别与b c比较的真值分三组,每组4个,令三组名为a b c,刚假币必在其中一组,另两组相等
列出a分别与b c比较的真值表:
1) a <> b 且 a<> c 刚必定b=c, 假币在a中,且a重则假币比正常币重,a轻则假币比正常币轻。令d=a
2)a=b, 刚c为假币,c比a重则假币轻,否则假币轻。令d=c
3)a=c,,刚b为假币,…令d=b
4)a=b且a=c,不可能,忽略之。
接下来使用二分法从d中找出即可。
对d分成两组e f,以天平比较之。根据上面的假币是重还是轻,得出e f 中轻重关系与假币相同者为假…...sunshing
分三组,每组4个,令三组名为a b c,刚假币必在其中一组,另两组相等
列出a分别与b c比较的真值分三组,每组4个,令三组名为a b c,刚假币必在其中一组,另两组相等
列出a分别与b c比较的真值表:
1) a <> b 且 a<> c 刚必定b=c, 假币在a中,且a重则假币比正常币重,a轻则假币比正常币轻。令d=a
2)a=b, 刚c为假币,c比a重则假币轻,否则假币轻。令d=c
3)a=c,,刚b为假币,…令d=b
4)a=b且a=c,不可能,忽略之。
接下来使用二分法从d中找出即可。
对d分成两组e f,以天平比较之。根据上面的假币是重还是轻,得出e f 中轻重关系与假币相同者为假…...sunshing