spoj 一道数论题
题意
输入N (N <= 1e4), 求满足 的整数解 (x,y)的数量。
解法
令 N! = M, 且分析等式可以知道, X > M, Y > M
假设 X = M + K , 其中K为正整数
则原式转换成:
又 Y 为正整数, M也为正整数, 则若需要满足条件则 M^2 % K == 0
则题目就转换成为 求 M^2 = ( N! )^2 的因子个数
又 对于任意正整数
其因子数量为
因为题目所给的 M = N!
对于 N! 的质因子分解,我们可以不需要从1到N进行枚举。仅仅通过N即可得出 [1,N] 的素因子及素因子次数。