uva 11426 GCD - Extreme (II)
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)相关推荐
- 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, ...
- 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 ...
- 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 ...
- 10_10_闪迪服务器芯片,【闪迪至尊极速固态硬盘试用】透过芯片看旗舰,拆解Extreme II看本质!...
SanDis---全球最大的闪速数据存储卡产品供应商,产品线覆盖CF卡.SD卡.TF卡.U盘.memory stick(记忆棒).读卡器.SSD固态硬盘等等.一直一来以优秀的做工,良好的品质闻名于世. ...
- UVA 11426 GCD-Extreme(II) ★ (欧拉函数)
题意 求Σ{1<=i<N} Σ{i<j<=N} GCD(i, j) (N<=4000000) 分析 原始思路 暴力求明显是不行的,我们把式子简化形式一下发现它可以 ...
- UVa 11388 - GCD LCM
题目大意:给出两个数的最大公约数G和最小公倍数L,求出这两个数. 根据a*b = GCD * LCM,然后枚举判断就好了. 1 #include <cstdio> 2 typedef un ...
- UVA 12716 GCD XOR(数论+枚举+打表)
题意:给你一个N,让你求有多少组A,B, 满足1<= B <= A <= N, 且 gcd(A,B) = A XOR B. 思路:首先我们能够得出两个结论: A-B > ...
- GCD - Extreme(欧拉函数变形)
题目链接:https://vjudge.net/problem/UVA-11426 题目大意: 给出整数n∈[2,4000000],求解∑gcd(i,j),其中(i,j)满足1≤i<j≤n. 的 ...
- UVa 11889 (GCD) Benefit
好吧,被大白书上的入门题给卡了.=_=|| 已知LCM(A, B) = C,已知A和C,求最小的B 一开始我想当然地以为B = C / A,后来发现这时候的B不一定满足gcd(A, B) = 1 A要 ...
- UVA Magical GCD
Magical GCD 题意:给定一个数列,求一个子列,该子列的最大公约数乘上子列长度的值最大,输出最大值.数列的大小是100000,这些数的大小是1-10^12. 解题思路:一开始想的是用暴力,但数 ...
最新文章
- ios UIImage 圆形图片剪切方案
- extends thread java_java学习之- 线程继承Thread类
- redis缓存穿透、缓存击穿、缓存雪崩概念及解决方案
- 2021牛客多校3 - 24dian(dfs)
- C# 虚方法与抽象方法区别
- python简单图画程序_用Python的Turtple画图形
- tornado SQLAlchemy
- USACO Sorting a Three-Valued Sequence
- XRD进行定性分析时可以得到哪些有用信息
- 计算机CPU的常见故障的排除,计算机CPU常见故障与排除.pdf
- python实现输出日历_python实现输入日期打印日历
- 嘉禾病历系统服务器,嘉和电子病历系统使用手册-医生工作站
- C 语言之父,UNIX 系统之父 Dennis Ritchie (丹尼斯 里奇)于 10 月 9 日去世,享年 70 岁
- cardinal numbers (基数词) - ordinal numbers (序数词)
- 小样本不符合正态_尿液样本HPV分型检测用于宫颈癌筛查的可能性
- 数据结构化和半结构化的区别
- 【软件工程】工程经济学期末复习资料
- 你如何理解目前市面上流行的贷款软件?
- vue如何实现打印功能
- 每日一书丨数据治理的这些事儿,90%的人搞不清
热门文章
- Ajax请求生成中文乱码问题
- Cesium中HeadingPitchRoll
- 经典排序算法(二十二)--图书馆排序(Library Sort)
- node-ffi 调用Golang动态库
- 腾讯滑块验证码识别和加速度模拟(1)
- 通过表名导出DDL语句(包含建表、索引、注释、主键)
- matlab拟合分析画不出线,lsqcurvefit曲线拟合后,用polt函数画不出拟合的图形
- 递归下降分析器 c++_专业围观质谱:汇总常见质谱仪专业对比分析!质量分析器直白解剖让你秒懂!...
- 云鹊医怎么快速认证_兴趣认证怎么申请?掌握这9个小技巧,快速通过
- python用于数据分析的包主要有哪些_大数据中用于硬核数据分析最适合的语言和工具包...