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] 的素因子及素因子次数。

原文地址:https://www.cnblogs.com/yefeng1627/p/2989158.html