UVA 11426 (欧拉函数)
来源:互联网 发布:java容器有哪些 编辑:程序博客网 时间:2024/06/04 17:49
白书125页例题。
gcd(x,n)所有可能的值是n的约数,要满足gcd(x,n) = i(i是n的约数)必然有gcd (x/i, n/i) = 1,也就是ph(n/i)的值。也就是对于每一个数i,如果i是n的约数,那么i在以n结尾的gcd中出现phi(i)次,这就是i对答案的贡献。
#include <bits/stdc++.h>using namespace std;#define maxn 4000000long long phi[maxn+5];long long f[maxn+5], sum[maxn+5];void init () { //打表 for (int i = 2; i <= maxn; i++) phi[i] = 0; phi[1] = 1; for (int i = 2; i <= maxn; i++) if (!phi[i]) { for (int j = i; j <= maxn; j += i) { if (!phi[j]) phi[j] = j; phi[j] = phi[j] / i * (i-1); } } memset (f, 0, sizeof f); for (int i = 1; i <= maxn; i++) { for (int j = i+i; j <= maxn; j += i) f[j] += i*phi[j/i]; } sum[2] = 1; for (int i = 3; i <= maxn; i++) sum[i] = sum[i-1]+f[i]; return ;}int n;int main () { //freopen ("in", "r", stdin); init (); while (cin >> n && n) { cout << sum[n] << endl; } return 0;}
0 0
- uva 11426-欧拉函数
- UVA 11426 欧拉函数
- UVA 11426 (欧拉函数)
- uva 11426 欧拉函数
- UVA 11426 欧拉函数 + 递推
- uva 10820 欧拉函数
- uva 11426 - GCD - Extreme (II) 欧拉函数
- UVa 11426 GCD - Extreme (II) / 素数筛选 + 欧拉函数
- UVa 11426 - GCD - Extreme (II) (数学 欧拉函数)
- uva 11424 && 11426 GCD - Extreme(数论:欧拉函数)
- [欧拉函数] uva 11426 GCD - Extreme (II)
- 【欧拉函数】uva 11426 GCD - Extreme (II)
- UVA 11426 GCD Extreme (II) 欧拉函数
- UVA 11426 GCD - Extreme (II) (数论|欧拉函数)
- uva 11426 - GCD - Extreme (II) 欧拉函数
- Uva 11426 - GCD - Extreme (II) 欧拉函数
- UVA 11426 GCD - Extreme (II) (欧拉函数)
- UVA 11426 GCD - Extreme (II)(欧拉函数)
- ListView的原理
- 《Kafka 0.9.0 Documentation》----Getting Started
- Java default protected
- Unity3d·小技巧·物体自转
- Lambada表达式
- UVA 11426 (欧拉函数)
- 12.2 剪贴板的高级用法
- Java利用HttpURLConnection发送请求
- 黑马程序员日记-10
- JAVA实现EXL的导入导出功能
- 黑马程序员--自学笔记--多线程
- 移动端图片格式调研
- RT-Thread下的串口驱动程序分析
- FaceBook推出的Android图片加载库-Fresco