UVA
来源:互联网 发布:水滴桌面软件 编辑:程序博客网 时间:2024/06/08 08:45
题目链接:https://vjudge.net/problem/UVA-10820
解题思路:设左边的数比右边的数小,发现二元组的另一个元素与右边的数互质,那么就可以用欧拉函数处理
AC代码:
#include<cstdio>using namespace std;const int MAXN = 50000 + 5;bool vis[MAXN];int prime[MAXN], euler[MAXN], tot;void getPrime(){ tot = 0; for (int i = 2;i < MAXN;i++) { if (!vis[i]) prime[tot++] = i; for (int j = 0;j < tot&&i*prime[j] < MAXN;j++) { vis[i*prime[j]] = 1; if (i%prime[j] == 0) break; } }}void getEuler(){ for (int i = 0;i < MAXN;i++) euler[i] = i; for (int i = 0;i < tot;i++) { for (int j = prime[i];j < MAXN;j += prime[i]) { euler[j] /= prime[i]; euler[j] *= prime[i] - 1; } }}int main(){ getPrime(); getEuler(); for (int n;scanf("%d", &n) == 1 && n;) { int ans = 0; for (int i = 2;i <= n;i++) ans += euler[i]; ans *= 2;ans += 1; printf("%d\n", ans); } return 0;}
阅读全文
0 0
- uva
- UVA
- UVA
- UVA
- uva
- UVA
- UVA
- UVA
- UVA
- UVA
- UVA
- UVA
- UVA
- UVA
- UVA
- UVA
- UVA
- UVA
- FCC算法:十、猴子吃香蕉, 分割数组--Chunky Monkey
- map&set
- C或C++编译成lib或dll时修饰符extern C及相关的浅析
- JS 中 == 和 === 的区别
- 5.0 引用类型
- UVA
- POj 2235 Wireless Network
- 算法爱好者——颜色分类 ? 待解决
- 关于tomcat启动日志的选择性打印和禁止打印的问题
- Codevs4189 字典
- php中fastcgi和php-fpm
- 函数(七)
- 【人工智能】第四章 超越经典搜索
- Android 7.0 报android.os.FileUriExposedException异常