设四位数为 'abcx'(其中 'x' 为千位数码和个位数码),则 'abc' * ('abc' + 2) * ('abc' + 4) = 'abcx'。

由此可知,'abc'、'abc' + 2 和 'abc' + 4 这三个数中,必然有一个数是 3 的倍数,且不是 3。因为如果有两个数都是 3 的倍数,那么它们中间那个数一定不是 3 的倍数,与题目中三个连续素数的条件矛盾;如果有一个数是 3 的倍数,而另外两个数中有一个是 3,那么另外一个数一定是 3 的倍数,也与题目中三个连续素数的条件矛盾。因此,这三个数中必然有且仅有一个数是 3 的倍数,且不是 3。

又因为这三个数中必然有一个数是偶数,所以这个偶数就是 3 的倍数,且不是 3。因此,'abc' 必然是奇数,而 'x' 必然是偶数。由此可知,'x' 只可能是 0、2、4、6 或 8。又因为 'abc' 必须是素数,所以 'abc' 只可能是 101、103、107、109、113、131、137、139、149、151、157、167、173、179、181、191、193 或 197 中的一个。

对于每个 'abc',我们只需要将 'abc' * ('abc' + 2) * ('abc' + 4) 与 'abcx' 进行比较,找到满足条件的 'x' 即可。具体地,我们可以枚举 'abc',然后计算 'abc' * ('abc' + 2) * ('abc' + 4) 的值,再枚举 'x',判断 'abcx' 是否等于 'abc' * ('abc' + 2) * ('abc' + 4)。

注意到 'abc' 的取值范围只有 19 个数,而 'x' 的取值范围只有 5 个数,因此总共只需要枚举不到 100 个数,可以在很短的时间内完成计算。最终得到的结果是:有 5 个满足条件的四位数,它们分别为 1013、1032、1071、1090 和 1491。

满足条件的四位数:三个连续素数的乘积

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

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