f(n) hdu 2582

calculate the f(n) . (3<=n<=1000000)

f(n)= Gcd(3)+Gcd(4)+…+Gcd(i)+…+Gcd(n).
Gcd(n)=gcd(C[n][1],C[n][2],……,C[n][n-1])
C[n][k] means the number of way to choose k things from n some things.

 

网络上有这个题的题解,但是都是说打表找规律,没有给出规律的证明。昨天睡前yy了一下,给个证明:

 

首先规律是:

1.Gcd(n)=1  如果n至少有2个不同的质因子;

2.Gcd(n)=p  如果$n=p^k$

 

先来证明第2条:

$Gcd(p^k)=p$

首先$C[n][1]=n=p^k$

那么最大公约数只能是$p^r\ \ (r<=k)$ 

考虑第i个组合数$C[n][i]=\frac{p^k*(p^k-1)*(p^k-2)\cdots*(p^k-i+1)}{i!}$

$p^r | (p^k-i) $等价于$p^r | i $

所以$\frac{p^k*(p^k-1)*(p^k-2)\cdots*(p^k-i+1)}{i!}$ 里面因子p的个数和$\frac{p^k*1*2*3\cdots*(i-1)}{i!}$是一样的。

$\frac{p^k*1*2*3\cdots*(i-1)}{i!}$约分一下就变成$\frac{p^k}{i}$         $(1<=i<=p^k-1)$

当$i=p^{k-1}$的时候, $\frac{p^k}{i}$ 里面p的个数最少,只有1个,  因此$Gcd(p^k)=p$

 

根据上面的思想可以证明第1条:

设 $n=p_1^{\alpha_1}p_2^{\alpha_2}\cdots p_k^{\alpha_k}$

考虑任意一个质因子$p_j$ 

第i个组合数$C[n][i]=\frac{n*(n-1)*(n-2)\cdots*(n-i+1)}{i!}$

根据上面的推导 $p_j$在第i个组合数出现的次数为$\frac{n}{i}$ 中$p_j$出现的次数。

当$i=\frac{n}{p_s}\ \ (s\neq j)$的时候,$\frac{n}{i}$ 中$p_j$出现的次数为0.

因此不论考虑哪一个质因子,总有某个组合数不是它的倍数,所以$Gcd(p_1^{\alpha_1}p_2^{\alpha_2}\cdots p_k^{\alpha_k})=1$

posted @ 2016-11-25 12:21  lzw4896s  阅读(160)  评论(0编辑  收藏  举报