线性筛(同时得到欧拉函数和素数表)
来源:互联网 发布:基于代理模型的优化 编辑:程序博客网 时间:2024/06/05 02:01
#include<iostream>#include<cstring>#include<cstdio>#include<string>#include<cmath>using namespace std;const int INF=0x3f3f3f3f;const int MAXN=1e7+5;const int MOD=1e9+7;bool check[MAXN];int phi[MAXN];int prime[MAXN];int tot;//素数的个数void phi_and_prime_table(int N){ memset(check,false,sizeof(check)); phi[1]=1; tot=0; for(int i=2;i<=N;i++) { if(!check[i]) { prime[tot++]=i; phi[i]=i-1; } for(int j=0;j<tot;j++) { if(i*prime[j]>N) break; check[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]*(prime[j]-1); } } }}int main(){ int n; scanf("%d",&n ); phi_and_prime_table(n); for(int i=1;i<=n;i++) cout<<"i: "<<i<<" "<<phi[i]<<endl; cout<<"---------"<<endl; cout<<"tot: "<<tot<<endl; for(int i=0;i<tot;i++) { cout<<prime[i]<<endl; } return 0;}
阅读全文
0 0
- 线性筛(同时得到欧拉函数和素数表)
- 线性筛选同时得到欧拉函数表和素数表
- 素数欧拉函数同时筛和打表
- 线性时间内筛素数和欧拉函数
- 欧拉筛——线性筛素数和欧拉函数
- 线性筛素数and欧拉函数
- 线性筛选素数和线性筛选欧拉函数【bzoj2190]
- 线性求区间欧拉函数(顺便线性求区间内所有素数)(类似欧拉线性素数筛)
- poj 2478【线性筛素数+欧拉函数】
- 欧拉函数 素数线性筛法模板
- 线性筛选素数(欧拉筛选)
- csu(欧拉函数+筛素数)
- 欧拉筛(线性筛)& 欧拉函数
- 线性时间内筛素数+欧拉函数+莫比乌斯函数
- 线性时间内筛素数+欧拉函数+莫比乌斯函数
- 线性筛素数+欧拉函数+莫比乌斯函数
- 线性时间求素数及欧拉phi函数
- 欧拉线性筛法求素数
- Qt中的unicode转换
- HttpClient简单封装及使用
- 使用xhtmlrenderer把html转换为PDF后右侧内容不显示
- ALV动态列Demo
- 一周例会后的杂感
- 线性筛(同时得到欧拉函数和素数表)
- MyEclipse打包Maven项目 Run as 命令
- file文件下载操作【练习】
- app内切换语言
- ajax post 服务器用request.getParameter("")拿不到值
- 01、mysql基本知识点和概念
- 度度熊与邪恶大魔王
- P
- 数据库备份与恢复