求gcd(1,n)+...+gcd(n,n)的和f(n)

首先我们很容易知道 当p是质数的时候 , f(p)=2*p-1,因为1到p-1都与p互质,而p和它本身的最大公约数是p。

我们知道任何数可以转化成质数的幂的乘积。

那么我们首先求只有一种质数的情况:f(p^k)。

考虑f(p^2)=2*p^2-1 + p*(p-1) -(p-1) :   先假设所有小于的p^2的数都与它互质,那么结果是2*p^2-1,而其实有p-1个数是p的倍数 并且他们 与 p^2的最大公约数是p,然后最后再减去第一部分多加的p-1个1。最后 f(p^2)= p*(3p-2)

考虑f(p^3)=2*p^3-1 + p*(p^2-p)+p^2*(p-1) -(p^2-1) :   先假设所有小于的p^3的数都与它互质,那么结果是2*p^3-1,而其实有p^2-p个数是p的倍数(不包括是p^2倍数的),并且他们 与 p^3的最大公约数是p;有p-1个数是p^2的倍数(不包括p^3倍数的,也就是不包括它自己) 并且他们 与 p^3的最大公约数是p^2,然后最后再减去第一部分多加的p^2-1个1。最后 f(p^3)= p*(4p-3)

....

同理,我们得到f(p^k)=p*( (k+1)*p-  k).


那么如果有多种质数的乘积呢?

考虑最简单的情况,f(p*q) ,p、q都是质数

根据上面的想法,同理得 f(p*q)=2*(p*q)-1 + p*(q-1)+q*(p-1) - (p-1+q-1) = (2p-1)(2q-1)=f(p)*f(q)。

由此,我们大胆假设,幂大于1的时候,也适用同样的公式,在此就不多加证明了。

现在如何求解已经显而易见了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值