众所周知,当我们计算不规则物体的容积时用数学的方法是比较困难的,若改用物理的方法就非常容易。将这种思想用到解决数学上许多问题是有效的,例如任意一个偶数可以用两个素数之和表示的问题若用数论的方法加以证明将是非常困难的,若我们组合数学的一些方法去证明,则问题变得简单得多。下面将详细介绍该方法。
假设
是正整数,
,P是N中素数集合,用
表示P的基数,根据曹汝成先生编写的《组合数学》第61页定理2.14 [1],
的计算公式为:
(1)
其中
,
是素数。
我们现在构造两个集合:
显然,
且
。
为方便证明将公式(1)写成等价形式公式(2)。
(2)
公式(1)到公式(2)证明非常简单,证明过程省略。
我们的第一问题是是否有
?
为了证明
我们考虑下面的不等式。
(3)
不难证明当
时不等式(3)成立。
只要
就一定有(3)成立。
当
有
假设
不等式(3)成立,当
,有
依据归纳法原理
不等式(3)成立。
现在考虑两个集合
,
,显然有:
(4)
,
因为
,所以
,因此有
(5)
即
(6)
。
现在有
个不同的盒子和
个不同的球。把
个球放入
个盒子中,如果
中每个盒子恰好放一个球,因为
,
,且
由不等式(6)和鸽舍原理 [2] 知
中球的个数少于
个,其余的球一定在
中。假设球y在
中,根据
的性质 y=n-1,所以球x一定在
中。
根据上面的分析有下面的断言:
断言1. 对任意的偶数
素数
和
使得
。
断言2. 对任意的奇数m一定存在三个素数
使得
。
现在证明断言2。对任意的奇数m,
(
,素数)一定是偶数,根据断言1。一定存在两个素数
使得
,即
。
按照上面的思路编写成如下的Matlab程序 [3],它可以对任意的
加以验证:
clc
clear
m=input('m=');
r=sqrt(m);
p=2:m;
for i=2:r
n=find(rem(p,i)==0&p~=i);
p(n)=[];
end
length(p)
p1=3:2:m/2;
for i=2:r
n=find(rem(p1,i)==0&p1~=i);
p1(n)=[];
end
p2=m-p1:-2:m/2;
for i=2:r
n=find(rem(p2,i)==0&p2~=i);
p2(n)=[];
end
for i=1:length(p1)
p=m-p1;
end
for i=1:length(p2)
for j=1:length(p)
if (p2(i)==p(j));
q=p2;q1=m-q;
end
end
end
for i=3:2:m/2
for j=2:sqrt(m/2)
n=find(rem(q1,j)==0&q1~=j);
q1(n)=[];
end
end
q1
[q1;m-q1]
几点说明:
1. 对于
我们可以直接进行验证,所以断言1,2可以改为下面的叙述:
断言1. 对任意的偶数
一定存在两个素数
,
使得
。
断言2. 对任意的奇数
一定有三个素数
使得
。
2. 程序可以优化;
3. 程序可在直接在matlabR2013b上运行;
4. 在证明的过程中省略了一些细节。