【板子】数论基础(持续更新ing...)
2024-08-27 12:49:44
#include<cstdio>
#include<iostream>
#include<cstring>
#include<cmath>
#include<algorithm>
using namespace std;
const int maxn=3000050;
int phi[maxn],prime[maxn],tot;
bool notprime[maxn];
void isprime(int x){
if(x<2)return 0;
for(int i=int(sqrt(x+0.5));i>=2;i--){
if(x%i==0)return 0;
}
return 1;
}//判断素数
int prime[maxn],tot;
bool nowprime[maxn]={1,1};
void xxs(int n){
for(int i=2;i<=n;i++){
if(!nowprime[i])prime[++tot]=i;
for(int j=1;j<=tot&&i*prime[j]<=n;j++){
notprime[i*prime[j]]=1;
if(i%prime[j]==0)break;
}
}
}//线性筛
int euler(int n){
int m=int(sqrt(n+0.5));
int ans=n;
for(int i=2;i<=m;i++){
if(n%i==0){
ans=ans/i*(i-1);
while(n%i==0)n/=i;
}
}
}//求n的欧拉函数值
int n,phi[maxn],prime[maxn],tot;
bool notprime[maxn];
void getphi(){
int i,j,k;
phi[1]=1;
for(i=2;i<=n;i++){
if(!notprime[i])prime[++tot]=i,phi[i]=i-1;
for(j=1;j<=tot;j++){
k=i*prime[j];
if(k>n)break;
notprime[k]=1;
if(i%prime[j]==0){
phi[k]=prime[j]*phi[i];break;
}else{
phi[k]=(prime[j]-1)*phi[i];
}
}
}
}//求1-n的所有欧拉函数值
int main(){
}
最新文章
- python成长之路【第十四篇】:HTML初步认识
- 今天第一节PS课
- Sublog: 支持Markdown和语法高亮的跨平台博客客户端
- JAVA学习中Swing部分JDialog对话框窗体的简单学习
- 【摘自网络】陈奕迅&;&;杨千嬅
- 自定义view(使用EditTetx实现记事本特效)
- Jquery设置select控件指定text的值为选中项
- 类似NL的update更新
- CentOS LiveCD LiveDVD DVD 等版本的区别
- 命令 修改WAMP中mysql默认空密码
- HDU 1251 统计难题 (字符串-Trie树)
- ZOJ 2859 二维RMQ(模板)
- Django权限机制的实现
- LRU的实现
- 003 关于shell基础,大数据的前期准备
- C#简单画图Draw研究学习
- Weblogic domain扩展教程
- js时间加减
- js浮点数运算封装, 起因财务部分精确计算
- SQLAlchemy-介绍安装
热门文章
- 彻底解决go get golang.org/x等包失败与VSCode golang插件安装失败问题
- 算法讲堂二:组合数学 &; 概率期望DP
- 案例:DG主库未设置force logging导致备库坏块
- Windows下搭建Apache网站
- 利用BeanMap进行对象与Map的相互转换
- SQL--SQL详解(DDL,DML,DQL,DCL)
- 字符串相同ID竟然不同!!!
- Php7安装pdo_pgsql,pgsql扩展
- 研为电子6轴运动控制卡win10驱动无法安装问题,解决方法
- WireShark——IP协议包分析(Ping分析IP协议包)