1: 当n>=6 且n-1和n+1是孪生素数的话那么n一定是6的倍数。
证明:因为n-1和n+1为素数----①
所以n-1和n+1为奇数----②
所以n是偶数是2的倍数--③
假设n不是3的倍数,得:
n=3x+1或n=3x+2,
如果n=3x+1则n-1=3x这和①违背所以n≠3x+1
如果n=3x+2,则n+1=3(x+1)与①违背
所以假设不成立,既n是3的倍数又有②结论则n是6的倍数。
由上面的规律可以推出下面的结论:
如x>=1且n=6x+1或n=6x+1,那么n一定不是2和3的倍数
证明。
因为n=6x-1和n=6x+1,即n=2*(3x)+1或n=3*(2x)-1
所以n一定不是2和三的倍数
素数的出现规律:
当n>=5是,如果n是素数那么n mod 6=1或n mod6=5,即n一定出现在6x(x>=1)的两侧.
证明:
当x>=1是,有如下的表示方法:
~~~~~~~6x,6x+1,6x+2,6x+3,6x+4,6(x+1),6(x+1)+1,~~~~~
所以不再6x两侧的数为6x+2,6x+3,6x+4即2(3x+1),3(x2+1),2(2x+2),他们一定不是素数,所以素数出现6x的两侧。
下面附上 快速判断一个数字是否为素数的方法。
1 bool isPrime(int num) 2 { 3 if (num == 2 || num == 3) 4 { 5 return true; 6 } 7 if (num % 6 != 1 && num % 6 != 5) 8 { 9 return false; 10 } 11 for (int i = 5; i*i <= num; i += 6) 12 { 13 if (num % i == 0 || num % (i+2) == 0) 14 { 15 return false; 16 } 17 } 18 return true; 19 }