CN106355027B - 一种分解大奇数的方法 - Google Patents
一种分解大奇数的方法 Download PDFInfo
- Publication number
- CN106355027B CN106355027B CN201610820083.8A CN201610820083A CN106355027B CN 106355027 B CN106355027 B CN 106355027B CN 201610820083 A CN201610820083 A CN 201610820083A CN 106355027 B CN106355027 B CN 106355027B
- Authority
- CN
- China
- Prior art keywords
- binary tree
- odd number
- layer
- sub
- divided
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16Z—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS, NOT OTHERWISE PROVIDED FOR
- G16Z99/00—Subject matter not provided for in other main groups of this subclass
Landscapes
- Small-Scale Networks (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
一种分解大奇数的方法,其特征在于采用二叉树的方式选取被除数范围,将被除数范围内的二叉树分解成子二叉树,分配给多台计算机或计算单元进行并行计算,来获得该大整数的因数。本发明与已有技术相比,具有易于缩小搜索范围、加快大整数分解的优点。
Description
技术领域
本发明涉及一种数的分解方法。
背景技术
大整数,理论上即使采用世界上最快的计算机进行分解,也需要以年为单位的时间,因此,大整数广泛地应用到加密领域中,而获得一个大整数的全部分解因数则是建立密钥的关键。而现今,大整数的分解至今是一个世界难题。人类一直在不停地寻找有效解决该问题的方法,但至今尚无明显成效。
发明内容
本发明的发明目的在于提供一种能加快大奇数分解的方法。
本发明是这样实现的,首先,先将大整数分解成大奇数m,如果大整数是大奇数m,则直接进入大奇数m的分解.大奇数m的分解是这样实现的,先确定大奇数m在二叉树T中的位置,二叉树T是从最顶端的结点3开始,依据奇数由小到大,由上到下,由左到右分布在二叉树T上,即3为二叉树T最顶的结点,亦即根结点,3往下分成二叉,左叉是5,右叉是7;5和7分别向下分成二叉,5和7成为向下分成二叉的子根结点,5的左叉是9,右叉是11,7的左叉是13,右叉是15,这样一直分叉下去,从而形成二叉树T。二叉树T从最顶的3开始,从上往下形成多层结点层L,0≤L;每层有2L个奇数(如0层是20=1,1层是21=2, 2层是22=4….),第L层的第P个数的大小是:2×2L+1+2×(P-1),1≤P ≤2L,大奇数m在二叉树T中的层数是K=︱log2 m︱-1,然后,用二叉树T中取整的K/2层及其以上层数中的奇数除大奇数m,若不能除尽,则该大奇数是素数;若有一个数能除尽,则该奇数是大奇数m的一个因数,相除运算采用多台计算机或计算单元同时进行,即将二叉树T中K/2层及其以上层数中的奇数划分成数个子二叉树Tn,具体是:先确定子二叉树Tn的层高h0,0≤h0,依据层高h0将二叉树T之K/2层及其以上层的全部奇数分成数层子二叉树树组;每层子二叉树树组由D个子二叉树Tn组成,D=2(S ×(h0+1)),0≤S;下层每个子二叉树树组最顶端的结点是上层子二叉树树组中子二叉树底层结点的其中结点,然后,将数个子二叉树Tn有机地分配(如平均分配)给数台计算机或计算单元同时进行大奇数m与子二叉树Tn中的奇数进行相除,以获得大奇数m的因数,每个子二叉树由一台计算机或计算单元负责计算。
由于大奇数的因数一定是奇数,而且,由于大于大奇数m必含有二叉树T中K/2层及其以上层的因数,因此大奇数m与二叉树T中K/2及其以上层数中的奇数相除,必能获得该大奇数m的因数。理论依据如下:
二叉树T中每个节点的奇数A,该节点奇数A的左叉奇数是2×A-1,右叉奇数是2×A-1,如3的左叉奇数是2×3-1=5,右叉奇数是2×3-1=7,那么L层中左边第一个奇数的数值是:
2×……(2×(2×(2×3-1)-1)-1)……-1=2×2L+1, 0≤L,
L层中右边第一个奇数的数值是:
2×……(2×(2×(2×3+1)+1)+1)……+1=4×2L-1, 0≤L,
L/2层中右边第一个奇数的数值是:
4×2L/2-1, 0≤L,
L/2+1层中左边第一个奇数的数值是:
2×2(L/2+1)+1, 0≤L,
(4×2L/2-1)×(2×2(L/2+1)+1)=8×2(L+1)-1>4×2L-1,
即使考虑L/2不是整数而取整的情况下,
(4×2[L/2]-1)×(2×2([L/2]+1)+1)=8×2L-1>4×2L-1,
由于大奇数的因数一定是奇数,因此,大奇数m与二叉树T中K/2层及其以上层数中的奇数相除,就能获得该大奇数m的所有因数。
与现有技术相比,本发明的有益效果为:
(1)由于利用二叉树的特性,有效地缩少了大奇数因子的搜索范围,从而有效地提升了大整数分解的速度。
(2)将二叉树分解成数个子二叉树并使用多台计算机或计算单元同时并行计算,有利于资源的有效分配并充分利用计算机资源,从而极大地加快了大整数分解的速度。
(3)采用二叉树的方法,能够揭示奇数的许多以前未能发现的性质如对称性等。利用此类性质设计算法,可减少大量的运算量。
附图说明
图1为二叉树的结构示意图;
图2为二叉树分解为子二叉树的结构示意图。
具体实施方式:
现结合附图和实施例对本发明做进一步详细描述:
本发明是这样实现的,首先,先将大整数分解成大奇数m,如果大整数是大奇数m,则直接进入大奇数m的分解,大奇数m的分解是这样实现的,先确定大奇数m在二叉树T中的位置,二叉树T是从最顶端的结点3开始,依据奇数由小到大,由上到下,由左到右分布在二叉树T上,即3为二叉树T最顶的结点,3往下分成二叉,左叉是5,右叉是7,5和7分别向下分成二叉,5和7成为向下分成二叉的根结点,5的左叉是9,右叉是11,7的左叉是13,右叉是15,这样一直分叉下去,从而形成二叉树T(如图1所示),二叉树T从最顶的3开始,从上往下形成多层结点层L,0≤L,每层有2L个奇数(如0层是20=1,1层是21=2, 2层是22=4….),第L层的第P个数的大小是:2×2L+1+2×(P-1),1≤P ≤2L,大奇数m在二叉树T中的层数是K=︱log2 m︱-1(如m为501时,K=7),然后,将大奇数m与二叉树T中取整的K/2层及其以上层数中的奇数(如K为200时,K/2=100. K为201时,K/2=100,K/2以上层数即0层—200层)进行相除,若某个奇数能除尽,则该奇数是大奇数m的因数。相除运算采用多台计算机同时进行,即将二叉树T中K/2层及其以上层数中的奇数分成数个层的子二叉树Tn。具体是:先确定子二叉树Tn的的层高h0,0≤h0,依据层高h0将二叉树T分成数层子二叉树树组,每层子二叉树树组由D个子二叉树Tn组成,D=2(S×(h0+1)),0≤S,S为子二叉树树组层所在的层数,最上面子二叉树树组层所在的层数是0,然后由上往下依次是1、2、……..,下层子二叉树树组中的子二叉树Tn最顶端的结点是上层子二叉树树组中的子二叉树Tn底部结点的其中一个叉。如图2所示,最上面子二叉树树组层所在的层数是0,该层只有一个子二叉树树T1,子二叉树T1高度是3(包括有0层、1层、2层、3层),子二叉树T1底部结点有8个(如图1所示,分别为17、19、21、23、25、27、29、31),子二叉树T1底部8个结点有16支树杈(如图1所示,分别为33、35、37、39、41、43、45、47、49、51、53、55、57、59、61、63),这样,子二叉树树组层0下面的子二叉树树组层1就有16个子二叉树(如图2所示,分别是T2、T3、T4、T5、T6、T7、T8、T9、T10、T11、T12、T13、T14、T15、T16、T17),而子二叉树树组层1下面的子二叉树树组层2就有D=2(2×(3+1))256个高度为3的子二叉树Tn(n=18、19、……….273),以此类推,将K层以上的二叉树分成数个高度为h0=3的子二叉树Tn,然后,将数个子二叉树Tn有机地分配(如平均分配)给数台计算机或计算单元同时进行大奇数m与子二叉树Tn中的奇数进行相除,以获得大奇数m的因数。
Claims (1)
1.一种分解大奇数的方法,其特征在于首先,先将大整数分解成大奇数m,如果大整数是大奇数m,则直接进入大奇数m的分解,大奇数m的分解是这样实现的,先确定大奇数m在二叉树T中的位置,二叉树T是从最顶端的结点3开始,依据奇数由小到大,由上到下,由左到右分布在二叉树T上,即3为二叉树T最顶的结点,3往下分成二叉,左叉是5,右叉是7,5和7分别向下分成二叉,5和7成为向下分成二叉的根结点,5的左叉是9,右叉是11,7的左叉是13,右叉是15,这样一直分叉下去,从而形成二叉树T,二叉树T从最顶的3开始,从上往下形成多层结点层L,0≤L,每层有2L个奇数,第L层的第P个数的大小是:2×2L+1+2×(P-1),1≤P ≤2L,大奇数m在二叉树T中的层数是K=向下取整数的log2 m-1,然后,将大奇数m与二叉树T中包括向下取整的K/2层在内的向下取整的K/2层以上的层中的奇数进行相除,若不能除尽m,则该大奇数m是素数,若能除尽,则该能除尽大奇数m的奇数是大奇数m的因数,相除运算采用多台计算机或计算单元同时进行,即将二叉树T中包括向下取整的K/2层在内的向下取整的K/2层以上的层中的奇数分成原二叉树T的数个子二叉树Tn,具体是:先确定子二叉树Tn的层高h0,0≤h0,依据层高h0将二叉树T之包括向下取整的K/2层在内的向下取整的K/2层以上的层内的全部奇数分成数层子二叉树树组,每层子二叉树树组由D个子二叉树Tn组成,D等于2的(S×(h0+1))次方,0≤S,S为子二叉树树组层所在的层数,下层子二叉树树组中的子二叉树Tn最顶端的结点是上层子二叉树树组中的子二叉树Tn底部结点的其中一个,然后,将数个子二叉树Tn分配给数台计算机或计算单元同时进行大奇数m与子二叉树Tn中的奇数进行相除,以获得大奇数m的因数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610820083.8A CN106355027B (zh) | 2016-09-13 | 2016-09-13 | 一种分解大奇数的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610820083.8A CN106355027B (zh) | 2016-09-13 | 2016-09-13 | 一种分解大奇数的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106355027A CN106355027A (zh) | 2017-01-25 |
CN106355027B true CN106355027B (zh) | 2020-06-02 |
Family
ID=57858417
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610820083.8A Active CN106355027B (zh) | 2016-09-13 | 2016-09-13 | 一种分解大奇数的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106355027B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101436188A (zh) * | 2007-11-16 | 2009-05-20 | 北京乾坤化物数字技术有限公司 | 整数结构树的构建方法 |
CN105959044A (zh) * | 2016-04-21 | 2016-09-21 | 北京航空航天大学 | 联合方法的层次码本结构设计方法 |
-
2016
- 2016-09-13 CN CN201610820083.8A patent/CN106355027B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101436188A (zh) * | 2007-11-16 | 2009-05-20 | 北京乾坤化物数字技术有限公司 | 整数结构树的构建方法 |
CN105959044A (zh) * | 2016-04-21 | 2016-09-21 | 北京航空航天大学 | 联合方法的层次码本结构设计方法 |
Non-Patent Citations (1)
Title |
---|
任意大奇数的一种素性检验法及表示法;解建国;《运城高等专科学校学报》;20021031;第20卷(第5期);第15-16页 * |
Also Published As
Publication number | Publication date |
---|---|
CN106355027A (zh) | 2017-01-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110008256A (zh) | 一种基于分层可导航小世界图的近似最近邻搜索方法 | |
CN101035023A (zh) | 一种网络结构拓扑布局的方法及网管设备 | |
CN104091301B (zh) | 一种基于MapReduce的瓦片金字塔并行构建方法 | |
CN106557812A (zh) | 基于dct变换的深度卷积神经网络压缩与加速方案 | |
CN105207680B (zh) | 一种基于有限域本原元的准循环ldpc码的构造方法 | |
Zhang et al. | Coevolving agent strategies and network topology for the public goods games | |
CN102073700A (zh) | 一种复杂网络社团的发现方法 | |
CN104699946B (zh) | 一种游戏场景的管理方法及装置 | |
Nakhleh et al. | The accuracy of fast phylogenetic methods for large datasets | |
CN103838831A (zh) | 一种基于社区划分的在线社交网络海量数据存储方法 | |
CN106293938A (zh) | 解决大数据计算过程中数据倾斜的方法 | |
CN104376083A (zh) | 一种基于关注关系和多用户行为的图推荐方法 | |
CN107330094A (zh) | 动态存储键值对的布鲁姆过滤器树结构及键值对存储方法 | |
CN106355027B (zh) | 一种分解大奇数的方法 | |
Anev et al. | New extremal singly even self-dual codes of lengths 64 and 66 | |
CN108471382A (zh) | 一种基于节点度值的复杂网络聚类算法攻击方法 | |
CN114358414A (zh) | 一种自适应并行的社区养老服务点选址优化方法及*** | |
CN106909339A (zh) | 一种基于二叉树结构的有限域乘法器 | |
CN106383848A (zh) | 一种实现的多音字汉字转拼音的方法 | |
Parberry | A Memory-Efficient Method for Fast Computation of Short 15-Puzzle Solutions | |
Xiaohu et al. | A new multilayer feedforward small-world neural network with its performances on function approximation | |
CN109344623B (zh) | 一种基于dag的去中心化方法及终端 | |
US9529835B2 (en) | Online compression for limited sequence length radix tree | |
CN102831158A (zh) | 一种适应于安全稳定控制装置的策略表搜索算法 | |
CN105119830B (zh) | 基于装箱优化的负载均衡软件定义网络路由聚合方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |