python编写判断素数的函数并找出前五个摩尼森数_如何证明存在 1000 个连续的正整数中恰好有五个素数?...

下面认为1是合数。因为“合数”比“非素数”好听多了。

为了直观,我们把正整数列成一排。下面有一条线,这条线的长度刚好够框住1000个正整数(认为每个数都占据同样大小的位置)。这条线可以左右滑动,图中它在最左端,它可以一直往右滑。

在现在的位置,横线上有许多个素数(显然超过5个

这条横线每向右滑一步,会吐出一个数并吞入一个数。可能的情况有四种:

1、吐出一个素数,吞入一个素数,横线上的素数个数没有变化。

2、吐出一个素数,吞入一个合数,横线上少了1个素数。

3、吐出一个合数,吞入一个素数,横线上多了1个素数。

4、吐出一个合数,吞入一个合数,横线上的素数个数没有变化。

总之,横线滑动过程中,上面的素数的个数只会一个一个地变化,不会从4个跳到6个,也不会从6个跳到4个。

而横线将会到达这样一个位置,横线画住这1000个数:

因为

中每一个数的倍数,所以

也是

的倍数,

也是

的倍数,……,

也是

的倍数。

所以,这1000个数全都是合数。在这里,横线上素数的个数是0。

在从开始滑到这里的过程中,横线上素数的个数从“许多”(超过5个)变化到了0。而这种变化是一个一个的,不会跳过任何一个数。

所以,在这之间存在一个位置,横线上恰好有5个素数。

QED.

课后习题:

在一个圆周上均匀分布着一些黑色或白色的珠子,其中黑珠子和白珠子的个数都是偶数。请证明:这个圆上存在一条弧,该弧恰包含了黑珠子的一半和白珠子的一半。

答案在精选评论。

这个东西叫做“离散的介值定理”。如果需要证明就反证法,思路大概是:假设取不到5个,既然能取到5个以下,考虑第一次取到5个以下的那个点,它的上一步至少是6个,这一步就不是一个一个变化的,矛盾。所以一定取到了5个。

参考^168个——不过这不重要。

^832个——更加不重要。

已标记关键词 清除标记
表情包
插入表情
评论将由博主筛选后显示,对所有人可见 | 还能输入1000个字符
©️2020 CSDN 皮肤主题: 游动-白 设计师:白松林 返回首页