为啥一些大数(大约 100 位)可以非常快地分解出来?
Posted
技术标签:
【中文标题】为啥一些大数(大约 100 位)可以非常快地分解出来?【英文标题】:Why some Large number (around 100 digit) can factor out very fast?为什么一些大数(大约 100 位)可以非常快地分解出来? 【发布时间】:2016-04-06 21:08:43 【问题描述】:我是数论的新手,我正在尝试对大约 100 位数字中的大数进行质数分解。
就像我的程序在 30 分钟内分解出一个 93 位数字,而一个 116 位数字需要计算机几天。
但是,我正在处理一个 104 位数字 13270693758489295980223043261833153409168505210538146384653262578584663296471619841442958585315929292397
结果马上出来
我想知道为什么这个数字能够如此快速地分解出来。它必须满足什么条件才能快速轻松地分解出来。
【问题讨论】:
查看分解是什么,并跟踪您的程序对每个输入的作用。 【参考方案1】:47位因子15630142427492468388372081926250991439041076399是平滑的,很容易被Pollard的p - 1方法找到,B = 2000;剩下的辅因子是素数。
【讨论】:
谢谢,我认为作为 p-1 的因子将是一个数字,只有小的素因子。所以它能够被p-1快速找到以上是关于为啥一些大数(大约 100 位)可以非常快地分解出来?的主要内容,如果未能解决你的问题,请参考以下文章
阶乘约数——蓝桥杯python组国赛题(C++唯一分解定理)