- 注册时间
- 2009-4-27
- 最后登录
- 1970-1-1
- 威望
- 星
- 金币
- 枚
- 贡献
- 分
- 经验
- 点
- 鲜花
- 朵
- 魅力
- 点
- 上传
- 次
- 下载
- 次
- 积分
- 3513
- 在线时间
- 小时
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?欢迎注册
×
原理
若整系数多项式\(f(m)=0 \pmod n\)
则\(\gcd[f(m^k),n]\)有可能给出n的一个非平凡因子
下面贴出mathematica代码
- n = 2^277 - 1; m = RandomInteger[{IntegerPart[n^(1/15)], IntegerPart[n^(1/14)]}]
- s = IntegerDigits[n, m];
- x =.; f = Table[x^i, {i, 0, Length[s] - 1}].Reverse[s]
- For[i = 2, i < 8*50000, i++, x = PowerMod[m, i, n];
- l = Table[PowerMod[x, j, n], {j, 0, Length[s] - 1}];
- t = Total[l*Reverse[s]];
- q = GCD[t, n]; If[q != 1, Break[]]];
- {q, i}
复制代码
选用的多项式及结果
$m=745148$
$258267 + 678023 x + 110760 x^2 + 157218 x^3 + 604452 x^4 +
151973 x^5 + 88005 x^6 + 385865 x^7 + 654011 x^8 + 399170 x^9 +
384355 x^10 + 12486 x^11 + 493400 x^12 + 689233 x^13 + 14 x^14$
${1121297, 70082}$
问题
目前该因子分解法还是概率性的,为了得到所想要的结果,多项式的选取有什么优选法,有无方法判定某个多项式为一有效多项式,即可以给出 n的一个因子
从而改进为一个确定性的因子分解方法 |
|