这篇文章将探讨在 Python (SymPy) 和 Mathematica 中对以下每个素数进行因式分解n – 1 所需的时间。下一篇文章将解释我为什么要对这些数进行因式分解。
p = 2254 + 4707489544292117082687961190295928833
q = 2254 + 4707489545178046908921067385359695873
r = 2254 + 45560315531419706090280762371685220353
s = 2254 + 45560315531506369815346746415080538113
以下是计时结果。
| | Python | Mathematica | |---+----------+-------------| | p | 0.913 | 0.616 | | q | 0.003 | 0.002 | | r | 582.107 | 14.915 | | 小号 | 1065.925 | 20.763 |
这不是一个精心设计的基准,但它足以表明 Mathematica 的速度比 Python 快几个数量级。
以下是因式分解。
p − 1 = 234 × 3 × 4322432633228119 × 129942003317277863333406104563609448670518081918257
q − 1 = 233 × 3 × 5179 × 216901160674121772178243990852639108850176422522235334586122689
r − 1 = 232 × 32 ×463×539204044132271846773×8999194758858563409123804352480028797519453
s − 1 = 232 × 32 × 1709 × 24859 × 1690502597179744445941507 × 10427374428728808478656897599072717
这篇文章《是时候分解大整数了 Python 和 Mathematica》最先出现在John D. Cook身上。
原文: https://www.johndcook.com/blog/2025/08/04/factorization-sympy-mathematica/