求i从1到n的gcd(n,i)的和

     刚才rihkddd神给我讲解的一个数论问题,为了防止以后忘记,写一下吧。

题目是让求i从1增加到n的gcd(n,i)的和,我们假设gcd(n,i) = k,则gcd(n/k,i/k) = 1。即假设gcd(n/k, x ) = 1,则gcd(n,x*k) = k。gcd(n,i) = k,k的取值是确定的,即n的所有因子,所以,满足gcd(n/k,x) = 1个x的个数乘以k即为所有满足gcd(n,i) = k 的和。因此就转化为n/k的欧拉函数的值乘以k的所有的和。

举个例子12来说,12的因子为1,2,3,4,6,12,则和为12/1的欧拉函数值*1 + 12/2的欧拉函数值 * 2 + 12/3的欧拉函数值 * 3 + 12/4的欧拉函数值 * 4 + 12/6的欧拉函数值*6 + 12/12 的欧拉函数值 * 12。

至于一个数n的所有因子,可以先将n分解成素数幂的形式,然后再用排列组合的知识或者是深搜求出其所有因子。

orz  rihkddd神。。。。。。。。

  • 5
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值