UVA11426 GCD
来源:互联网 发布:疲劳驾驶数据 编辑:程序博客网 时间:2024/06/05 09:45
题目链接:点我
题意:
给你一个数n,求前n个数中任意两个数的 最小公倍数的和,
思路:
我们知道gcd(i, x) = t 可以得到gcd( i / t, x / t) = 1,所以我们只需要求与其互质对的数的个数,如何乘以i就可以了.
代码:
#include<cstdio>#include<algorithm>#include<cstring>#include<cmath>#include<iostream>using namespace std;typedef long long LL;const int maxn = 4000000+10;int phi[maxn];LL a[maxn];void init(){ for(int i = 1; i < maxn; ++i) phi[i] = i; for(int i= 2; i < maxn; ++i){ if(phi[i] == i){ for(int j = i; j < maxn; j += i) phi[j] =phi[j] - phi[j] / i; }for(int j = 1; i * j < maxn ;++j) a[i * j] += j * phi[i]; }for(int i = 1; i < maxn;++i) a[i] += a[i-1];}int main(){ init(); int n; while(scanf("%d", &n), n){ printf("%lld\n",a[n]); } return 0;}
阅读全文
0 0
- UVA11426:GCD
- UVA11426 GCD
- UVA11426 GCD
- UVA11426 GCD
- GCD Extreme(II) UVA11426
- uva11426 GCD - Extreme (II)
- uva11426(gcd + 欧拉函数)
- UVALive5964 LCM Extreme && UVA11426 GCD
- uva11426
- uva11426
- UVA11426
- UVa11426
- UVA11426 GCD - Extreme (II) 欧拉函数`扩展欧几里德应用
- UVa11426 - GCD - Extreme (II)(欧拉函数的妙用)
- 【UVA11426】GCD - Extreme (II)——欧拉函数
- UVA11426 GCD - Extreme (II) 小于n的数对的gcd之和
- uva11426(数学题)
- uva11426(欧拉函数)
- 主席树 --- 求区间第k大值
- php $_SERVER["REMOTE_ADDR"]输出ip为::1
- 深入理解JavaScript系列(1):编写高质量JavaScript代码的基本要点
- 字符集和字符编码
- mysql之触发器trigger 详解
- UVA11426 GCD
- HTML5新增的标签和属性归纳
- python中的unicode_escape
- 安卓webview重定向的解决
- Find The Multiple
- ant编译时提示一大堆软件包不存在的问题
- Docker之容器退出-yellowcong
- 经常用到的GIT指令
- cockroachdb尝试