寻找大素数
来源:互联网 发布:推荐系统实战所用数据 编辑:程序博客网 时间:2024/06/05 01:57
本文献给中华人民共和国诞辰60周年
(知识产权归中华人民共和国所有)
寻找大素数 作者 李铁钢
1、 概述
我们知道到目前为止我们还没有发现一个可以任意写出素数的公式,所以用公式法判断,一个数是不是素数还是一件困难的事。本文就是试图用公式法判断一个数是不是素数。
2、 基本理论
看一个公式, 数列
6N + 1
6N – 1 其中,N为项数, N = 1、2、3、……∞ (公式1)
(本公式是由另一组公式推导来的,这里不作介绍)
公式1的基本性质是它包含了除素数2、3以外,自然数中的全部素数和这些素数衍生出的合数。
写出一组数字,观察一下
6N + 1 , 7、13、19、25、31、37、43、49、55、61、67、73、79、85、91、97、103……
6N – 1 , 5、11、17、23、29、35、41、47、53、59、65、71、77、83、89、95、101……
黑体数字为合数,实际探讨中可以把它们写得更多些。
设H+为6N + 1中任一个数,它可能是素数也可能是合数,假设它是合数时必可以写成下面的形式
H+ = P•S P是一个素数,称为根素数;S可以是一个素数,也可以是合数。
P的项数设为x ,S的项数设为y ,则有, H+ = P•S = (6x + 1)(6y + 1)
同样,根素数在6N – 1,而合数在6N + 1上, H+ = P•S = (6x - 1)(6y + 1)
根素数在6N – 1,而合数在6N – 1上, H- = P•S = (6x - 1)(6y - 1)
化简、整理后,得
6xy + x + y = N (方程1)
6xy - x - y = N (方程2)
6xy + x - y = N (方程3) N是H+或H- 所在的项数。
这是一组双曲线方程。
现在的问题就变成了在数列6N + 1或6N - 1当取定项数N后,看双曲线方程1、2、3有没有至少一组关于x、y的正整数解,如果有,那么N所对应的H就是合数,否则就是一个素数。
设xy = A ; x + y = B 方程1变形为 (6A + 1)+ B = N + 1 (方程4)
设xy = A ; x + y = B 方程2变形为 (6A + 1)- B = N + 1 (方程5)
设xy = A ; x - y = E 方程3变形为 (6A + 1)+ E = N + 1 (方程6)
3、 步骤
1) 得到一个尾数是1、3、7、9的正整数后,把它先除于3,不能整除后
2) 开方,不能开方后
3) 用6N + 1或6N – 1判断所在的数列,并求出项数N
4) 如果在数列6N + 1上,就用方程4和方程5,判断。6A + 1取7、13、19…,可以是素数,也可以是合数。由A和B解出x和y,无正整数解的N所对应的H就是一个素数,
5) 如果在数列6N - 1上,就用方程6判断。 方法同上。
用以上方法,可以解决以下问题
a、 可以任意的写出一个很大的合数;
b、 可以任意的写出一个很大的素数;
c、 对一个很大的数可以判断是合数还是素数(大数困难些,但是可以完成)。
篇幅所限,仅谈要点。李铁钢
2009年1月25日
(知识产权归中华人民共和国所有)
寻找大素数 作者 李铁钢
1、 概述
我们知道到目前为止我们还没有发现一个可以任意写出素数的公式,所以用公式法判断,一个数是不是素数还是一件困难的事。本文就是试图用公式法判断一个数是不是素数。
2、 基本理论
看一个公式, 数列
6N + 1
6N – 1 其中,N为项数, N = 1、2、3、……∞ (公式1)
(本公式是由另一组公式推导来的,这里不作介绍)
公式1的基本性质是它包含了除素数2、3以外,自然数中的全部素数和这些素数衍生出的合数。
写出一组数字,观察一下
6N + 1 , 7、13、19、25、31、37、43、49、55、61、67、73、79、85、91、97、103……
6N – 1 , 5、11、17、23、29、35、41、47、53、59、65、71、77、83、89、95、101……
黑体数字为合数,实际探讨中可以把它们写得更多些。
设H+为6N + 1中任一个数,它可能是素数也可能是合数,假设它是合数时必可以写成下面的形式
H+ = P•S P是一个素数,称为根素数;S可以是一个素数,也可以是合数。
P的项数设为x ,S的项数设为y ,则有, H+ = P•S = (6x + 1)(6y + 1)
同样,根素数在6N – 1,而合数在6N + 1上, H+ = P•S = (6x - 1)(6y + 1)
根素数在6N – 1,而合数在6N – 1上, H- = P•S = (6x - 1)(6y - 1)
化简、整理后,得
6xy + x + y = N (方程1)
6xy - x - y = N (方程2)
6xy + x - y = N (方程3) N是H+或H- 所在的项数。
这是一组双曲线方程。
现在的问题就变成了在数列6N + 1或6N - 1当取定项数N后,看双曲线方程1、2、3有没有至少一组关于x、y的正整数解,如果有,那么N所对应的H就是合数,否则就是一个素数。
设xy = A ; x + y = B 方程1变形为 (6A + 1)+ B = N + 1 (方程4)
设xy = A ; x + y = B 方程2变形为 (6A + 1)- B = N + 1 (方程5)
设xy = A ; x - y = E 方程3变形为 (6A + 1)+ E = N + 1 (方程6)
3、 步骤
1) 得到一个尾数是1、3、7、9的正整数后,把它先除于3,不能整除后
2) 开方,不能开方后
3) 用6N + 1或6N – 1判断所在的数列,并求出项数N
4) 如果在数列6N + 1上,就用方程4和方程5,判断。6A + 1取7、13、19…,可以是素数,也可以是合数。由A和B解出x和y,无正整数解的N所对应的H就是一个素数,
5) 如果在数列6N - 1上,就用方程6判断。 方法同上。
用以上方法,可以解决以下问题
a、 可以任意的写出一个很大的合数;
b、 可以任意的写出一个很大的素数;
c、 对一个很大的数可以判断是合数还是素数(大数困难些,但是可以完成)。
篇幅所限,仅谈要点。李铁钢
2009年1月25日
0 0
- 寻找大素数
- 寻找素数
- 寻找素数
- 寻找素数
- 寻找素数
- 素数寻找
- 寻找素数
- 寻找素数
- 寻找素数 Google题
- C#寻找素数
- 寻找顽强素数 算法
- hdu1262寻找素数对
- 寻找素数对
- hdu1262-寻找素数对
- hdu1262 寻找素数对
- 寻找素数对
- 寻找素数对
- hdoj1262 寻找素数对
- 牛刀小试__卡拉兹猜想___3n+1问题
- 【原创教程】Quick-Cocos2d-x的Android打包教程
- css透明
- Bullet(Cocos2dx)之创建地形
- 坐标转换
- 寻找大素数
- Bullet之了解Force Torque Impulse
- How to Get an Android Device Image?
- 将很快收复“1.19踩踏事件”失地
- PCI规范
- thinkpad 折腾记
- 简单介绍使用Eclipse Memory Analyze Tool来检查内存溢出和内存泄露
- Oracle 默认用户及登录模式的区别
- 微信营销东西卖给谁?怎样快速获取大量精准粉丝?