我根据维基百科页面上指定的基本算法在 Haskell 中实现了二次筛。它适用于大多数整数,但是它无法找到n次幂的数字 N 的因式分解。对于偶数幂(平方),算法循环,对于奇数幂,我找到了几个平方模 N 的平滑数(我已经测试并证实了这一点),但是每一个派生的平方同余(也经过测试和证实)只会导致一个微不足道的因素。
我有理由确定我已经实现了 Wikipedia 算法。那个版本的算法是否存在问题,阻止它处理n次幂,或者我的算法中是否存在错误?
出于某种原因,stackoverflow 在格式化我的代码时遇到问题,所以你去: http: //pastebin.com/miUxHKCh