话说FFT能不能直接压4位变一万进制
  • 板块灌水区
  • 楼主huangx607087
  • 当前回复1
  • 已保存回复1
  • 发布时间2023/10/29 11:03
  • 上次更新2023/10/29 11:15:09
查看原帖
话说FFT能不能直接压4位变一万进制
115947
huangx607087楼主2023/10/29 11:03

最近在做一个项目,内容是随机生成 22562^{256} 规模的素数。

项目中用的是 O(n2)O(n^2) 的一万进制压位高精乘法, nn 是一万进制高精度数字 aa 的位数,nn 不超过2020,认为 n=O(log⁡a)n=O(\log a)。

这样就导致除法复杂度是 O(n3)O(n^3)

二分快速幂复杂度变成了 O(n4)O(n^4) (指数规模与 aa 相当,log⁡a\log a 的复杂度也就是 nn 的复杂度)

MillerRabin判素数 O(n5)O(n^5) (log⁡a\log a 的复杂度也就是 nn 的复杂度)

选取一个素数变成了 O(n6)O(n^6) (因为素数定理的找素数的期望是运行MillerRabin O(log⁡a)次O(\log a) 次,也就是 nn 的复杂度)

我手上有FFT的板子,但是是十进制FFT的板子,如果传参到一万进制过去,把模数和除数从 10 变成一万来把上面所有复杂度降一个 nn 变成 log⁡n\log n?

2023/10/29 11:03
加载中...