JZOJ3456. 【NOIP2013模拟联考3】恭介的法则(rule)(2017.8B组)

https://jzoj.net/senior/#main/show/3456
想法:
要求找满足1/x+1/y=1/n!的对数(x,y)
即要求(x+y)/(x*y)=1/n!的对数
xy/(x+y)=n!
xy=n!(x+y)
考虑通过x求y
xy=n!x+n!y
-n!x=n!y-xy
n!x=xy-n!y
n!x=(x-n!)y
n!x/(x-n!)=y
都要为正整数
于是要求x-n!|n!x
设k=x-n!
k|n!(n!+k)
k|n!n!+kn!
k|n!n!
答案变成求n!n!得约数个数
如果一个数=(p1^q1)*(p2^q2)……..(pz^qz)
约数个数=(q1+1)(q2+1)(q3+1)(q4+1)
(n!)^2=(1^2)(2^2)(3^2)….(n^2)
求出n的每个质因数的指数,那么指数*2就求出了n!的每个质因数指数,
然后线性即可求出每个数的质因子(线性筛法时记录每个数被筛的最小质因子,递归跳)
高精度压位+常数优化

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值