二次整数分解


对于任何数与11 的乘积,其奇数总位和与偶数位总和一样。比如25112757 = 2 + 5

对于已知合数pq, 如果我们把p 表示为11 pq的奇数位总和就会与偶数位总和一致。 为了把p 表示为11 我们不能用十进制或二进制,要采用p-1进制。

假设n进制下pq=KMP,是个三位数:

 Pq = K * n*n + M * n + P

显然一般情况下 M不等于K+P

n-x = p – 1 并且假设K位保持不变,

Pq = K*n-x*n-x+ M1 * n-x+ P1

并且 M1 =K+P1

那么

M1 = M + 2*K*x

P1 = P + M*x + K*x*x

M + 2*K*x = K + P + M*x + K*x*x

是个一元二次方程,求解即完成pq 因数分解。

比如61*83 = 5063

试取70进制,

K=1 M=2 P = 23

-22 = x*x

无解。

为啥?

因为K位不变,但M位有进位。或者说P1>70.

试了140>P1>70, 也无解。

再试P1>140-2*x,进2,

M1 = M + 2 * K *x + 2

P1 = P + M*x + K*x*x – 2 * 70 + 2 * x

X*x + 2x – 120 = 0

X = 10 p = 70 – 10 + 1 = 61

完成因数分解。

主要计算都在测试  (m + j)*(m + j) + 4 * k * j * norm - 4 * k * p 是否是平方数上。

欢迎指正

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值