UVa Online Judge

  题意,求gcd(1,2)+gcd(1,3)+gcd(2,3)+...+gcd(n-1,n)的和。

  这题的做法是,将gcd(a,b)=p(a<b)转化成gcd(a/p,b/p)=1,这时候就是求phi(b/p),而且这样的值有p个。我用了类似筛素数的方法将所有的phi(x)都筛出来,同时计算gcd(1,n)+gcd(2,n)+...+gcd(n-1,n)的和。求出这个和以后,将之前的和加上去就行了。

代码如下:

 1 #include <cstdio>
 2 #include <iostream>
 3 #include <algorithm>
 4 #include <cstring>
 5
 6 using namespace std;
 7
 8 const int N = 2222222;
 9 typedef long long LL;
10 int phi[N];
11 LL sum[N];
12
13 void PRE() {
14     phi[1] = 1;
15     for (int i = 2; i < N; i++) {
16         if (!phi[i]) {
17             for (int j = i; j < N; j += i) {
18                 if (!phi[j]) phi[j] = j;
19                 phi[j] /= i;
20                 phi[j] *= i - 1;
21             }
22         }
23         for (int j = i; j < N; j += i) {
24             sum[j] += j / i * phi[i];
25         }
26         sum[i] += sum[i - 1];
27     }
28     //cout << sum[200000] << endl;
29     //cout << sum[100] << endl;
30     //cout << sum[10] << endl;
31 }
32
33 int main() {
34     PRE();
35     int n;
36     while (cin >> n && n) cout << sum[n] << endl;
37     return 0;
38 }

View Code

——written by Lyon

转载于:https://www.cnblogs.com/LyonLys/p/uva_11426_Lyon.html

uva 11426 GCD - Extreme (II)相关推荐

  1. UVA 11426 GCD - Extreme (II) (欧拉函数)

    题目传送门:点击打开链接 假设a.b(a<b)互质,那么gcd(a,b)=1,这样当i循环到a.j循环到b时就会向结果中+1,而i循环到2*a.j循环到2*b时就会向结果中+2(gcd(2*a, ...

  2. UVA11426 GCD - Extreme (II)【欧拉函数】

    Given the value of N, you will have to find the value of G. The definition of G is given below: G=∑i ...

  3. UVA11424 GCD - Extreme (I)【欧拉函数打表】

    Given the value of N, you will have to find the value of G. The definition of G is given below: G=∑i ...

  4. 10_10_闪迪服务器芯片,【闪迪至尊极速固态硬盘试用】透过芯片看旗舰,拆解Extreme II看本质!...

    SanDis---全球最大的闪速数据存储卡产品供应商,产品线覆盖CF卡.SD卡.TF卡.U盘.memory stick(记忆棒).读卡器.SSD固态硬盘等等.一直一来以优秀的做工,良好的品质闻名于世. ...

  5. UVA 11426 GCD-Extreme(II) ★ (欧拉函数)

    题意 求Σ{1<=i<N} Σ{i<j<=N} GCD(i, j)     (N<=4000000) 分析 原始思路 暴力求明显是不行的,我们把式子简化形式一下发现它可以 ...

  6. UVa 11388 - GCD LCM

    题目大意:给出两个数的最大公约数G和最小公倍数L,求出这两个数. 根据a*b = GCD * LCM,然后枚举判断就好了. 1 #include <cstdio> 2 typedef un ...

  7. UVA 12716 GCD XOR(数论+枚举+打表)

     题意:给你一个N,让你求有多少组A,B,  满足1<= B <= A <= N, 且 gcd(A,B) = A XOR B. 思路:首先我们能够得出两个结论: A-B > ...

  8. GCD - Extreme(欧拉函数变形)

    题目链接:https://vjudge.net/problem/UVA-11426 题目大意: 给出整数n∈[2,4000000],求解∑gcd(i,j),其中(i,j)满足1≤i<j≤n. 的 ...

  9. UVa 11889 (GCD) Benefit

    好吧,被大白书上的入门题给卡了.=_=|| 已知LCM(A, B) = C,已知A和C,求最小的B 一开始我想当然地以为B = C / A,后来发现这时候的B不一定满足gcd(A, B) = 1 A要 ...

  10. UVA Magical GCD

    Magical GCD 题意:给定一个数列,求一个子列,该子列的最大公约数乘上子列长度的值最大,输出最大值.数列的大小是100000,这些数的大小是1-10^12. 解题思路:一开始想的是用暴力,但数 ...

最新文章

  1. ios UIImage 圆形图片剪切方案
  2. extends thread java_java学习之- 线程继承Thread类
  3. redis缓存穿透、缓存击穿、缓存雪崩概念及解决方案
  4. 2021牛客多校3 - 24dian(dfs)
  5. C# 虚方法与抽象方法区别
  6. python简单图画程序_用Python的Turtple画图形
  7. tornado SQLAlchemy
  8. USACO Sorting a Three-Valued Sequence
  9. XRD进行定性分析时可以得到哪些有用信息
  10. 计算机CPU的常见故障的排除,计算机CPU常见故障与排除.pdf
  11. python实现输出日历_python实现输入日期打印日历
  12. 嘉禾病历系统服务器,嘉和电子病历系统使用手册-医生工作站
  13. C 语言之父,UNIX 系统之父 Dennis Ritchie (丹尼斯 里奇)于 10 月 9 日去世,享年 70 岁
  14. cardinal numbers (基数词) - ordinal numbers (序数词)
  15. 小样本不符合正态_尿液样本HPV分型检测用于宫颈癌筛查的可能性
  16. 数据结构化和半结构化的区别
  17. 【软件工程】工程经济学期末复习资料
  18. 你如何理解目前市面上流行的贷款软件?
  19. vue如何实现打印功能
  20. 每日一书丨数据治理的这些事儿,90%的人搞不清

热门文章

  1. Ajax请求生成中文乱码问题
  2. Cesium中HeadingPitchRoll
  3. 经典排序算法(二十二)--图书馆排序(Library Sort)
  4. node-ffi 调用Golang动态库
  5. 腾讯滑块验证码识别和加速度模拟(1)
  6. 通过表名导出DDL语句(包含建表、索引、注释、主键)
  7. matlab拟合分析画不出线,lsqcurvefit曲线拟合后,用polt函数画不出拟合的图形
  8. 递归下降分析器 c++_专业围观质谱:汇总常见质谱仪专业对比分析!质量分析器直白解剖让你秒懂!...
  9. 云鹊医怎么快速认证_兴趣认证怎么申请?掌握这9个小技巧,快速通过
  10. python用于数据分析的包主要有哪些_大数据中用于硬核数据分析最适合的语言和工具包...