选出的数中,每一个数都不是另一个数的 2 倍,相当于不能同时选一个数及其倍数。因此,我们可以通过贪心算法来选数。

首先选出所有的奇数,因为一个偶数一定可以表示成另一个奇数的 2 倍,而且选了偶数就不能再选它的一半了。这样我们已经选出了 50 个数。

然后从剩下的偶数中选出所有不能表示成另一个选出的数的 2 倍的数。比如 6 可以表示成 3 的 2 倍,所以不能选 6;但是 10 不可以表示成 5 的 2 倍,所以可以选 10。这样我们最多可以再选出 16 个数(2,4,10,12,14,16,22,24,26,28,34,36,38,40,42,46)。

因此,最多可以选出 50+16=66 个数。

1 到 100 中选取互不为倍数的数字的最大数量

原文地址: https://www.cveoy.top/t/topic/nP0S 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录