bzoj 2705: [SDOI2012]Longge的问题 欧拉函数
2016-07-26 12:46
423 查看
2705: [SDOI2012]Longge的问题
Time Limit: 3 Sec Memory Limit: 128 MB[Submit][Status][Discuss]
Description
[align=left]Longge的数学成绩非常好,并且他非常乐于挑战高难度的数学问题。现在问题来了:给定一个整数N,你需要求出∑gcd(i, N)(1<=i <=N)。[/align]Input
[align=left]一个整数,为N。[/align]Output
[align=left]一个整数,为所求的答案。[/align]Sample Input
6Sample Output
15HINT
【数据范围】对于60%的数据,0<N<=2^16。
对于100%的数据,0<N<=2^32。
思路:欧拉;
枚举N的约数pi,gcd为pi的个数为phi(N/pi);
#include<bits/stdc++.h> using namespace std; #define ll long long #define esp 0.00000000001 const int N=1e5+10,M=1e6+10,inf=1e9+10,mod=1000000007; ll phi(ll n) { ll i,rea=n; for(i=2;i*i<=n;i++) { if(n%i==0) { rea=rea-rea/i; while(n%i==0) n/=i; } } if(n>1) rea=rea-rea/n; return rea; } int main() { ll x,y,z,i,t; scanf("%lld",&x); ll ans=0; for(i=1;i*i<=x;i++) { if(x%i==0) { ans+=i*phi(x/i); if(i*i!=x) ans+=(x/i)*phi(i); } } printf("%lld\n",ans); return 0; }
相关文章推荐
- MySQL源码安装(centos)
- 多余元素删除之建表算法
- JVM系列二:GC策略&内存申请、对象衰老
- mysql内连接,mysql外连接学习实例
- 常用的shell命令汇总 Linux基础
- iOS 多线程开发讲解
- AxWindowsMediaPlayer的详细用法
- How do I tell if a regular file does not exist in bash?
- rac 中scan vip 是如何做到负载均衡的
- nginx负载均衡
- “服务主机本地系统占用高内存”,“已禁用IME”和“win8.1 wifi经常掉线”的解决方法
- CanvasWebgl项目介绍
- PyGobject(九)布局容器之Button篇——Gtk.ToggleButton
- JVM系列一:JVM内存组成及分配
- java类集
- 4 Bash If Statement Examples ( If then fi, If then else fi, If elif else fi, Nested if )
- response响应给客户端(json、xml格式)
- ASP.NET Core开发-读取配置文件Configuration
- IO流列出目录下所有内容,带层次
- mysql简单操作