为啥一些大数(大约 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 位)可以非常快地分解出来?的主要内容,如果未能解决你的问题,请参考以下文章

找到大约 300 位排列的所有完美正方形

阶乘约数——蓝桥杯python组国赛题(C++唯一分解定理)

C ++中的大数字库[关闭]

C 中的这段代码决定一个数字是不是是素数,它会因大数而崩溃。为啥?

大数阶乘(100!)

在 Android 上使用 Camera API 尽可能快地拍照