欧拉函数(线性筛)(超好Dong)
2024-09-04 10:53:13
欧拉函数:对于一个正整数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;
}
最新文章
- [ASP.NET MVC 小牛之路]16 - Model 验证
- 微信自定义分享到朋友圈API
- 分布式环境下rabbitmq发布与订阅端
- eclipse中使用javadoc生成文档
- Linux命令(2)- mv
- 差分信号(Differential Signal)
- HTML5 Canvas核心技术—图形、动画与游戏开发.pdf4
- bzoj1827 [Usaco2010 Mar]gather 奶牛大集会
- Linux下yum订购具体解释
- 你所不知道的mybatis居然也有拦截器
- jQuery css,position,offset,scrollTop,scrollLeft用法
- C#字节数组与字符串转换
- 博客里的第一篇随笔!QWQ
- 数据库解析IP,时间戳
- tesseract 4.0 ocr图像识别利器,可识别文字。图片越高清越准确
- 9.Python爬虫利器一之Requests库的用法(一)
- MyBatis数据库连接的基本使用
- mysql 权限管理 对所有库 所有表 授权 *.*
- VMware虚拟机安装Centos预安装环境图文教程1
- MemCache 安全使用原则(自己整理,仅供参考)
热门文章
- Win32汇编常用系统函数
- Codeforces 1238D. AB-string
- IntelliJ IDEA 2017.3.2 热加载(Hot Swap)
- 解决maven依赖包下载慢的问题
- ASP.NET 打包发布中没有Visual Studio Installer
- Solved: XXX esx.problem.hyperthreading.unmitigated.formatOnHost not found XXX
- Phoenix设置联合主键
- inputrc命令
- SQL练习汇总
- 关于MySQL服务无法正常启动问题