欧拉函数:对于一个正整数n,小于n且和n互质的正整数(包括1)的个数,记作φ(n) 。

#include <bits/stdc++.h>

using namespace std;
const int maxn = 1e6;
bool vis[maxn];
int prime[maxn];
int phi[maxn]; void init()
{
memset(vis, false, sizeof(vis));
phi[1] = 1;
int cnt = 0;
for(int i = 2; i < maxn; i ++)
{
if(!vis[i]){
prime[cnt++] = i;
phi[i] = i - 1;
}
for(int j = 0; j < cnt && i * prime[j] < maxn; j ++)
{
vis[i * prime[j]] = true;
if(i % prime[j] == 0){
phi[i*prime[j]] = phi[i]*prime[j];
break;
}
else{
phi[i*prime[j]] = phi[i]*phi[prime[j]]; // phi[i]*(prime[j]-1);
}
}
}
} int main()
{
int n;
cin >> n;
init();
cout << phi[n]<<endl;
}

最新文章

  1. [ASP.NET MVC 小牛之路]16 - Model 验证
  2. 微信自定义分享到朋友圈API
  3. 分布式环境下rabbitmq发布与订阅端
  4. eclipse中使用javadoc生成文档
  5. Linux命令(2)- mv
  6. 差分信号(Differential Signal)
  7. HTML5 Canvas核心技术—图形、动画与游戏开发.pdf4
  8. bzoj1827 [Usaco2010 Mar]gather 奶牛大集会
  9. Linux下yum订购具体解释
  10. 你所不知道的mybatis居然也有拦截器
  11. jQuery css,position,offset,scrollTop,scrollLeft用法
  12. C#字节数组与字符串转换
  13. 博客里的第一篇随笔!QWQ
  14. 数据库解析IP,时间戳
  15. tesseract 4.0 ocr图像识别利器,可识别文字。图片越高清越准确
  16. 9.Python爬虫利器一之Requests库的用法(一)
  17. MyBatis数据库连接的基本使用
  18. mysql 权限管理 对所有库 所有表 授权 *.*
  19. VMware虚拟机安装Centos预安装环境图文教程1
  20. MemCache 安全使用原则(自己整理,仅供参考)

热门文章

  1. Win32汇编常用系统函数
  2. Codeforces 1238D. AB-string
  3. IntelliJ IDEA 2017.3.2 热加载(Hot Swap)
  4. 解决maven依赖包下载慢的问题
  5. ASP.NET 打包发布中没有Visual Studio Installer
  6. Solved: XXX esx.problem.hyperthreading.unmitigated.formatOnHost not found XXX
  7. Phoenix设置联合主键
  8. inputrc命令
  9. SQL练习汇总
  10. 关于MySQL服务无法正常启动问题