Millar Robin模板
\(Millar Robin\)模板
\(Code\)
#include <cstdio>
#include <iostream>
#include <algorithm>
#include <ctime>
using namespace std;
typedef long long ll;
template<typename T>
inline void read(T &x)
{
int f=1;char c;
while((c=getchar())<'0'||c>'9') if(c=='-') f=-1;
x=c^48;
while((c=getchar())>='0'&&c<='9') x=(x<<1)+(x<<3)+(c^48);
x*=f;
}
inline ll fpow(ll x,ll y,ll mod)
{
ll ans=1;
while(y)
{
if(y&1) ans=(ans*x)%mod;
x=(x*x)%mod;y>>=1;
}
return ans;
}
inline int miller_rabin(int x)
{
if(x==2) return 1;
if(x==46856248255981l||x==1||(x%2)==0) return 0;
ll u=x-1,ct=0;
while((u%2)==0) u/=2,ct++;
//printf("%d %d %d\n",x,u,ct);
for(int i=0;i<10;i++)
{
ll a=rand()%(x-1)+1;
//cout<<a<<endl;
ll xt=fpow(a,u,x);
if(xt==1) continue;
for(int j=1;j<=ct;j++)
{
ll y=xt*xt%x;
if(y==1&&xt!=x-1&&xt!=1) return 0;
xt=y;
}
if(xt!=1) return 0;
}
return 1;
}
int main()
{
srand(time(0));
int n,ans;
ll x;
while(scanf("%d",&n)!=EOF)
{
ans=0;
while(n--)
{
read(x);
ans+=miller_rabin(x);
}
printf("%d\n",ans);
}
return 0;
}
Millar Robin模板的更多相关文章
- 【数论】Prime Time UVA - 10200 大素数 Miller Robin 模板
题意:验证1~10000 的数 n^n+n+41 中素数的个数.每个询问给出a,b 求区间[a,b]中质数出现的比例,保留两位 题解:质数会爆到1e8 所以用miller robin , 另外一个优 ...
- Pollard Rho 算法简介
\(\text{update 2019.8.18}\) 由于本人将大部分精力花在了cnblogs上,而不是洛谷博客,评论区提出的一些问题直到今天才解决. 下面给出的Pollard Rho函数已给出散点 ...
- Angular学习(7)- 模板
示例: <!DOCTYPE html> <html ng-app="MyApp"> <head> <title>Study 7< ...
- django模板层(templates)
1.基础部分 通过使用模板,就可以在URL中直接调用HTML,它还是松耦合的,灵活性强,而且更容易维护 而且可以将变量通过一定的方式嵌入到HTML中,最终渲染到页面,总的来说基于模板完成了数据与用户之 ...
- Jade模板引擎让你飞
写在前面:现在jade改名成pug了 一.安装 npm install jade 二.基本使用 1.简单使用 p hello jade! 渲染后: <p>hello jade!</p ...
- ABP入门系列(2)——通过模板创建MAP版本项目
一.从官网创建模板项目 进入官网下载模板项目 依次按下图选择: 输入验证码开始下载 下载提示: 二.启动项目 使用VS2015打开项目,还原Nuget包: 设置以Web结尾的项目,设置为启动项目: 打 ...
- CMS模板应用调研问卷
截止目前,已经有数十家网站与我们合作,进行了MIP化改造,在搜索结果页也能看到"闪电标"的出现.除了改造方面的问题,MIP项目组被问到最多的就是:我用了wordpress,我用了织 ...
- PHP-自定义模板-学习笔记
1. 开始 这几天,看了李炎恢老师的<PHP第二季度视频>中的“章节7:创建TPL自定义模板”,做一个学习笔记,通过绘制架构图.UML类图和思维导图,来对加深理解. 2. 整体架构图 ...
- 【原创分享·微信支付】C# MVC 微信支付之微信模板消息推送
微信支付之微信模板消息推送 今天我要跟大家分享的是“模板消息”的推送,这玩意呢,你说用途嘛,那还是真真的牛逼呐.原因在哪?就是因为它是依赖微信生存的呀,所以他能不 ...
随机推荐
- Mysql基础练习--实例
修改字段名:alter table 表名 change 旧字段名 新字段名 新数据类型;--- 主键 ------------------------------------------------- ...
- NER命名实体识别,实体级level的评估,精确率、召回率和F1值
pre = "0 0 B_SONG I_SONG I_SONG 0 B_SONG I_SONG I_SONG 0 0 B_SINGER I_SINGER I_SINGER 0 O O O B ...
- c++四舍五入函数round()
其实c++自身是没有四舍五入函数round()的,若果你要用到的话,可以自己写一个round(),不过要用到floor()和ceil这两个函数如下: #include<iostream> ...
- win10好用的桌面工具分享+网盘下载链接
1.Everything Everything是voidtools开发的一款文件搜索工具,官网描述为“基于名称实时定位文件和目录(Locate files and folders by name in ...
- php 常量的使用
我们来看下直接的例子 <?php //定义常量 //常量不可被删除 //常量一旦被定义,就无法重新置换 //常量一旦定义,就不能对他第二次定义,否则会报错! define('MYCONSTANT ...
- 去掉input阴影&隐藏滚动条&抛异常&预加载&curl传json
1.隐藏滚动条:-webkit-scrollbar{ display:none; } 2.array_walk():数组里的每个元素执行一个自定义函数: array_map():数组里的每个元素执行一 ...
- 在 ubuntu20 上安装 docker
步骤如下 更新 apt-get 源 sudo apt-get update 安装包允许 apt-get 通过 https 使用仓库 sudo apt-get install apt-transport ...
- 【集群实战】sersync
1. sersync介绍 sersync功能: 实时同步: sersync组成: sersync==inotify+rsync inotify: 监控某个目录下面"文件/目录"是否 ...
- Netty(一):ByteBuf读写过程图解
我们知道ByteBuf通过读写两个索引分离,避免了NIO中ByteBuffer中读写模式切换时,需要flip等繁琐的操作. 今天就通过一段测试代码以及图例来直观的了解下ByteBuf中的readInd ...
- Kubernetes-在Kubernetes集群上搭建HBase集群
经过3天的努力,终于在Kubernetes上把HBase集群搭建起来了,搭建步骤如下. 创建HBase镜像 配置文件包含core-site.xml.hbase-site.xml.hdfs-site ...