【板子】数论基础(持续更新ing...)
#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(){
}
【板子】数论基础(持续更新ing...)的更多相关文章
- Linux命令(持续更新ing)
*.命令语法: a.在进行参数设定时,通常为“-”号,若为完整参数名称,则输入“--”符号; b.指令太长的时候,可以使用“\”符号使指令连续到下一行; c.各种符号的意义: '' ...
- FireFox所支持的全部标签(持续更新ing)
近期研究上各个浏览器的差别,得到一些资料,FireFox眼下所支持的全部标签类型,持续更新,供大家參考和学习,不喜勿喷哦 http://mxr.mozilla.org/seamonkey/source ...
- 新年Flag,零基础程序媛编程学习计划(持续更新ing)~~
新的一年立下了转行做程序媛的Flag,我是文科妹子,专业是做市场传销…哦不,是市场营销,算是零基础转行,目标是半年内完成自学进入公司工作,目前打算从事的方向短期目标以入行为主,以前端(可以发挥自身审美 ...
- 大白话strom——问题收集(持续更新ing)
本文导读: 1.基于storm的应用 2.storm的单点故障解决 3.strom与算法的结合学习4.杂记——常见问题的解答5.http://www.blogchong.com/catalog.asp ...
- Python:常见错误集锦(持续更新ing)
初学Python,很容易与各种错误不断的遭遇.通过集锦,可以快速的找到错误的原因和解决方法. 1.IndentationError:expected an indented block 说明此处需要缩 ...
- Linux学习资料网站汇总链接(持续更新ing)
排名不分先后. 学海无涯苦作舟. 博客: 1.slmba:LINUX博客原创大牛 2.edsionte's TechBlog:Linuxer (他的友情链接中还有一堆Linuxer,被公司屏蔽进不去. ...
- SpringBoot布道系列 | 目录汇总 | 2019持续更新ing
SpringBoot 基础教程 | 三大推荐理由 1.文章内容均为原创,结合官方文档和实战经验编写. 2.文章结构经过细致整理,对新人学习更加友好. 3.精选常用技术,不求全面,但求精华!! Spri ...
- PE文件格式 持续更新ing
PE文件就是exe文件和dll文件,前者是可执行文件,后者是动态连接库文件.两者的区别仅仅是字面上的,唯一的区别就是内部的一个字段标识这个文件是exe文件还是dll文件. 对于PE文件格式,举一个例子 ...
- 常用js功能函数汇总(持续更新ing)
////////////////////获取元素属性/////////////////// function getStyle(obj,name) { if(obj.currentStyle) { r ...
随机推荐
- 08_提升方法_AdaBoost算法
今天是2020年2月24日星期一.一个又一个意外因素串连起2020这不平凡的一年,多么希望时间能够倒退.曾经觉得电视上科比的画面多么熟悉,现在全成了陌生和追忆. GitHub:https://gith ...
- WinUI 3试玩报告
1. 什么是 WinUI 3 在微软 Build 2020 开发者大会上,WinUI 团队宣布可公开预览的 WinUI 3 Preview 1,它让开发人员可以在 Win32 中使用 WinUI.Wi ...
- Vue中解决新脚手架3创建项目的移动端双击屏幕放大,双手拉动放大的方法
替换新版vue-cli创建项目的public>index.html <!DOCTYPE html> <html lang="en"> <head ...
- 解决:gradle 前言中不允许有内容
将Android Studio 升级到4.0然后创建一个新项目,编译出现“ gradle 前言中不允许有内容” 的错误,在网上找了很多资料,众说纷纭,但都没有解决我的问题,最后反复摸索把问题解决了. ...
- 利用java从docx文档中提取文本内容
利用java从docx文档中提取文本内容 使用Apache的第三方jar包,地址为https://poi.apache.org/ docx文档内容如图: 目录结构: 每个文件夹的名称为日期加上来源,例 ...
- (二)Java编程基础
目录 一.关键字与保留字 二.标识符与变量 三.基本数据类型的转换 四.运算符 五.分支语句 五.循环语句 六.跳转语句 七.Java从键盘读取输入 一.关键字与保留字 定义:①关键字:Java关键字 ...
- iOSdelegate、Notification、block区别
1.delegate与block一般用于1对1的通信交互.delegate需先定义好协议方法,代理对象实现协议方法且需要建立代理关系才可以通信. 2.block使用简洁,如果通信事件较多,建议使用de ...
- Canvas 画布 H5
前言: canvas 元素用于在网页上绘制图形. canvas 本身是一个标签,<canvas>标签定义图形,必须使用脚本来绘制图形,比如在画布上(Canvas)画一个红色矩形,渐变矩形, ...
- Oracle连接Db2
因为有个业务场景需要访问客户DB2数据库的数据,我们使用的Oracle,百度一下是有方法的,本来以为很简单,没想到搞了一天,因为数据库版本都太老,使用的也少走了不少弯路,在此记录下来给需要的人借鉴. ...
- pomelo 依赖分析
最新版本: 2.2.7 npm i pomelo 之后: ➜ haloServer npm i pomelonpm WARN deprecated node-uuid@1.4.0: Use uuid ...