a[] = {1,2,3,4...n}

n与a[i]的最大公约数,必定属于n的因子,所以遍历n的因子。

对于n的一个因子k,我们求出k作为最大公约数出现的次数m

如何求出m呢:

  gcd(n,a[i])==k   =>   gcd(n/k,a[i]/k)==1

这相当与求:小于n/k,且与n/k互质的数的个数,可以用欧拉函数解决

#include<stdio.h>
#include<queue>
#include<string.h>
#include<iostream>
#include<algorithm>
#define MAXSIZE 1000005
#define LL long long
using namespace std;LL Solve(LL n)
{LL ans = 1;for(int i=2;i*i<=n;i++){if(n%i==0){n /= i;ans *= (i-1);while(n%i==0){n /= i;ans *= i;}}}if(n > 1)ans *= (n-1);return ans;
}int main()
{LL n,ans=0;scanf("%lld",&n);for(LL i=1;i*i<=n;i++){if(n%i!=0)continue;ans += i*Solve(n/i);if(i != n/i){ans += (n/i)*Solve(n/(n/i));}}printf("%lld\n",ans);return 0;
}

View Code

转载于:https://www.cnblogs.com/alan-W/p/8409849.html

1040 最大公约数之和相关推荐

  1. 51nod 1040:最大公约数之和(数论)

    题目链接:https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1040 给出一个n,求1-n这n个数,同n的最大公约数的和. ...

  2. 51nod 1040最大公约数和(欧拉函数)

    1040 最大公约数之和 题目来源: rihkddd 基准时间限制:1 秒 空间限制:131072 KB 分值: 80 难度:5级算法题  收藏  关注 给出一个n,求1-n这n个数,同n的最大公约数 ...

  3. 51nod1040 最大公约数之和,欧拉函数或积性函数

    1040 最大公约数之和 给出一个n,求1-n这n个数,同n的最大公约数的和.比如:n = 6时,1,2,3,4,5,6 同6的最大公约数分别为1,2,3,2,1,6,加在一起 = 15 看起来很简单 ...

  4. 最大公约数之和——极限版II

    P1490 - [UVa11426 ]最大公约数之和--极限版II Description Input 输入包含至多100组数据.每组数据占一行,包含正整数N(2<=N<=1<N&l ...

  5. [51 nod 123] 最大公约数之和 V3(杜教筛)

    1237 最大公约数之和 V3 推式子 ∑i=1n∑j=1ngcd(i,j)=∑d=1nd∑i=1n∑j=1n(gcd(i,j)==d)=∑d=1nd∑i=1nd∑j=1nd(gcd(i,j)==1) ...

  6. 51nod 1188 最大公约数之和 V2(欧拉函数)

    1188 最大公约数之和 V2 思路 用欧拉函数可以化简式子如下 ∑i=1n∑j=1i−1gcd(i,j)\sum_{i = 1} ^{n} \sum _{j = 1} ^{i - 1} gcd(i, ...

  7. 51nod 1237 最大公约数之和 V3

    求∑1<=i<=n∑1<=j<=ngcd(i,j) % P P = 10^9 + 7 2 <= n <= 10^10 这道题,明显就是杜教筛 推一下公式: 利用∑d ...

  8. BZOJ 2226 [Spoj 5971] LCMSum 最大公约数之和 | 数论

    BZOJ 2226 [Spoj 5971] LCMSum 这道题和上一道题十分类似. \[\begin{align*} \sum_{i = 1}^{n}\operatorname{LCM}(i, n) ...

  9. 51 nod 最大公约数之和 (求1~n里面各个数的gcd和 n=1000000)

    Description 小菜的妹妹小诗就要读小学了!正所谓计算机要从娃娃抓起,小菜决定在幼儿园最后一段轻松的时间里教妹妹编程. 小菜刚教完gcd即最大公约数以后,一知半解的妹妹写了如下一段代码:sum ...

最新文章

  1. rate-limit
  2. 修改Thickbox,预加载图片和点击图片前后浏览
  3. 困难动态规划系列、经典的正则表达式和通配符匹配问题(难题)
  4. 年仅53岁,因连续工作、过度劳累,这位抗疫幕后的科研专家去世
  5. Breadth-first Search(广度优先搜索)专题2
  6. 市场营销读后感_好书共赏市场营销原理——带你探索市场营销成功的奥秘 !...
  7. activemq消息丢失_基于Redis实现消息队列的典型方案
  8. centos 卸载_9个Linux发行版本,教你如何分别使用命令行卸载安装包
  9. ie6中margin失效问题
  10. 【QT】入门基础教程Qt5
  11. 智能卡APDU的命令及其解析
  12. java 批量生成条形码,打包zip(springboot)
  13. Thematic Contests CodeForces - 1077E
  14. 龙芯2K1000开发板资料1.2版更新了
  15. Docker容器之搭建本地私有仓库
  16. 字典序问题:在数据加密和数据压缩中常需要对特殊的字符串进行编码.给定的字母表A 由26 个小写英文字母
  17. Java发邮件(详解+源代码)
  18. 生成服务器证书 启用HTTPS 生成自签名证书
  19. Dubbo入门基础与实例讲解
  20. Android中notifyDataSetInvalidated()和notifyDataSetChanged()

热门文章

  1. c语言消去法解线性方程组,高斯消元法解线性方程组(C++实现)
  2. python编辑svg文件_如何修改pygal生成的svg文件背景色
  3. 如何查看文件是否为csv格式_Spark实战第二版(涵盖Spark3.0)第七章 从文件接入数据...
  4. 分区助手找不到盘_C盘的概述与分区
  5. python编写代码运用递归画图形_python数据结构与算法 22 递归图形
  6. github ssh 配置_搭建自己的技术博客系列 2:把 Hexo 博客部署到 GitHub 上
  7. php快速排序分割两部分,php四大算法|冒泡排序|快速排序|二分查找
  8. c语言中fflush_在C中使用fflush()
  9. r语言中paste函数_R中的paste()函数-简要指南
  10. 中心管理cms服务器_如何查找网站使用的CMS,脚本,服务器,技术