51nod1189 阶乘分数

1/N! = 1/X + 1/Y(0<x<=y),给出N,求满足条件的整数解的数量。例如:N = 2,1/2 = 1/3 + 1/6,1/2 = 1/4 + 1/4。由于数量可能很大,输出Mod 10^9 + 7。
Input
输入一个数N(1 <= N <= 1000000)。
Output
输出解的数量Mod $10^9 + 7$。
Input示例
2
Output示例
2

 

这道题花了我一小时的时间。

主要原因是。。。我和题解推出来式子不太一样,然后我为了证明这两个式子是相等的,用了很长时间。

我比较瓜,先放我贼不优秀的式子:

$$\frac{1}{N!} = \frac{1}{x} + \frac{1}{y}$$

$$N! = \frac{x \times y}{x+y}$$

$$y = \frac{N! \times x}{x - N!}$$

令$t = N! , x = \frac{b}{a} \times N!  \  (gcd(a,b)==1)$

$$y = \frac{\frac{b}{a} \times t^2}{\frac{b-a}{a} \times t}$$

$$y = \frac{b \times t}{b-a}$$

因为x、y都是整数,a、b互质,所以$(c=b-a) | t$、$a | t$

那么$ans \times 2 - 1=\sum\limits_{a|t} \sum\limits_{c|t} [gcd(a,c)==1]$

然后发现网上题解都是这样子做的,比我的优秀多了:

$$x \times y = N! \times (x+y)$$

$$x \times y - N! \times (x+y) + (N!)^2= (N!)^2$$

$$(x-N!) \times (y-N!) = (N!)^2$$

那么$ans \times 2 - 1 = \sum\limits_{a|t^2} 1$

 

于是我很想证明的就是

$$\sum\limits_{x|t^2} 1= \sum\limits_{a|t}\sum \limits_{c|t} [gcd(a,c)=1]$$

我瞪着这个式子看了半天,然后去问llj dalao。他告诉我去打个表。

我打表发现式子是成立的。

然后怎么证明这个式子是成立的呢?

我们设$t = p_1^{a_1} \times p_2^{a_2} \times p_3^{a_3} \times ........$

对于第i个质数$p_i$

对于$a|t$ && $c|t $&&$ [gcd(a,c)==1]$的$a$、$c$含有质因子$p_i$的个数的方案数有$2 \times a_i +1$种。

对于$x|t^2$的$x$含有$p_i$的个数的方案数也有$2 \times a_i +1$种。

所以说可以一一对应啦。

posted @ 2017-12-24 21:24  shixinyi  阅读(269)  评论(0编辑  收藏  举报