2705: [SDOI2012]Longge的问题 欧拉函数
来源:互联网 发布:淘宝网显示不正常 编辑:程序博客网 时间:2024/06/06 18:36
Description
Longge的数学成绩非常好,并且他非常乐于挑战高难度的数学问题。现在问题来了:给定一个整数N,你需要求出∑gcd(i, N)(1<=i <=N)。
Input
一个整数,为N。
Output
一个整数,为所求的答案。
Sample Input
6
Sample Output
15
枚举每个约数k,如果gcd(m,n)=k,则gcd(m/k,n/k)=k ,则ans+=k*(phi(n/k))。
#include<stdio.h>#include<algorithm>#include<string.h>#include<math.h>using namespace std;#define ll long longll phi(ll n);int main(){int n, sum, m;ll ans;while (scanf("%d", &n) != EOF){ans = 0;for (int i = 1;i <= sqrt(n);i++){if (n%i == 0){ans += phi(n / i)*i;if (i*i < n) ans += n / i*phi(i);}}printf("%lld\n", ans);}}ll phi(ll n){ll ans = n, i;for (i = 2; i*i <= n; i++){if (n%i == 0){ans = ans / i*(i - 1);while (n%i == 0)n = n / i;}}if (n>1)ans = ans / n*(n - 1);return ans;}
阅读全文
0 0
- 2705: [SDOI2012]Longge的问题 欧拉函数
- 2705: [SDOI2012]Longge的问题|欧拉函数
- HYSBZ 2705: [SDOI2012]Longge的问题【欧拉函数】
- 【bzoj】2705 - [SDOI2012]Longge的问题(欧拉函数)
- bzoj 2705: [SDOI2012]Longge的问题 欧拉函数
- 【BZOJ 2705】[SDOI2012]Longge的问题 欧拉函数
- [BZOJ 2705][SDOI2012]Longge的问题:欧拉函数
- bzoj 2705: [SDOI2012]Longge的问题(欧拉函数)
- 2705: [SDOI2012]Longge的问题 欧拉函数
- bzoj 2705 [SDOI2012]Longge的问题 欧拉函数
- [BZOJ2480]SDOI2012 Longge的问题|欧拉函数
- BZOJ2705 [SDOI2012]Longge的问题(欧拉函数)
- [欧拉函数]Bzoj2705 Longge的问题[SDOI2012]
- 【bzoj2705】【sdoi2012】【longge的问题】【欧拉函数】
- 【bzoj2705】[SDOI2012]Longge的问题 欧拉函数
- BZOJ_P2705 [SDOI2012]Longge的问题(数论+欧拉函数)
- [BZOJ2705] [SDOI2012] Longge的问题 - 欧拉函数
- bzoj2705: [SDOI2012]Longge的问题 欧拉函数
- 【HDU 1029】Ignatius and the Princess IV (动态规划)
- 大规模时间序列数据自动异常检测架构
- Lua和C++的交互
- 就
- java内存模型详解(JMM)
- 2705: [SDOI2012]Longge的问题 欧拉函数
- AJAX学习
- 内存的管理艺术(基于C语言)2
- java服务1
- 位图的实现以及应用
- hdu6071神奇的最短路
- 12.集合:在我的世界里,你就是唯一 / 不可变集合
- 关于springboot集成mybatis pageHelper druid 配置
- 前缀、中缀、后缀表达式