\(Millar Robin\)模板

hdu2138

\(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模板的更多相关文章

  1. 【数论】Prime Time UVA - 10200 大素数 Miller Robin 模板

    题意:验证1~10000 的数 n^n+n+41 中素数的个数.每个询问给出a,b  求区间[a,b]中质数出现的比例,保留两位 题解:质数会爆到1e8 所以用miller robin , 另外一个优 ...

  2. Pollard Rho 算法简介

    \(\text{update 2019.8.18}\) 由于本人将大部分精力花在了cnblogs上,而不是洛谷博客,评论区提出的一些问题直到今天才解决. 下面给出的Pollard Rho函数已给出散点 ...

  3. Angular学习(7)- 模板

    示例: <!DOCTYPE html> <html ng-app="MyApp"> <head> <title>Study 7< ...

  4. django模板层(templates)

    1.基础部分 通过使用模板,就可以在URL中直接调用HTML,它还是松耦合的,灵活性强,而且更容易维护 而且可以将变量通过一定的方式嵌入到HTML中,最终渲染到页面,总的来说基于模板完成了数据与用户之 ...

  5. Jade模板引擎让你飞

    写在前面:现在jade改名成pug了 一.安装 npm install jade 二.基本使用 1.简单使用 p hello jade! 渲染后: <p>hello jade!</p ...

  6. ABP入门系列(2)——通过模板创建MAP版本项目

    一.从官网创建模板项目 进入官网下载模板项目 依次按下图选择: 输入验证码开始下载 下载提示: 二.启动项目 使用VS2015打开项目,还原Nuget包: 设置以Web结尾的项目,设置为启动项目: 打 ...

  7. CMS模板应用调研问卷

    截止目前,已经有数十家网站与我们合作,进行了MIP化改造,在搜索结果页也能看到"闪电标"的出现.除了改造方面的问题,MIP项目组被问到最多的就是:我用了wordpress,我用了织 ...

  8. PHP-自定义模板-学习笔记

    1.  开始 这几天,看了李炎恢老师的<PHP第二季度视频>中的“章节7:创建TPL自定义模板”,做一个学习笔记,通过绘制架构图.UML类图和思维导图,来对加深理解. 2.  整体架构图 ...

  9. 【原创分享·微信支付】C# MVC 微信支付之微信模板消息推送

    微信支付之微信模板消息推送                    今天我要跟大家分享的是“模板消息”的推送,这玩意呢,你说用途嘛,那还是真真的牛逼呐.原因在哪?就是因为它是依赖微信生存的呀,所以他能不 ...

随机推荐

  1. Mysql基础练习--实例

    修改字段名:alter table 表名 change 旧字段名 新字段名 新数据类型;--- 主键 ------------------------------------------------- ...

  2. 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 ...

  3. c++四舍五入函数round()

    其实c++自身是没有四舍五入函数round()的,若果你要用到的话,可以自己写一个round(),不过要用到floor()和ceil这两个函数如下: #include<iostream> ...

  4. win10好用的桌面工具分享+网盘下载链接

    1.Everything Everything是voidtools开发的一款文件搜索工具,官网描述为“基于名称实时定位文件和目录(Locate files and folders by name in ...

  5. php 常量的使用

    我们来看下直接的例子 <?php //定义常量 //常量不可被删除 //常量一旦被定义,就无法重新置换 //常量一旦定义,就不能对他第二次定义,否则会报错! define('MYCONSTANT ...

  6. 去掉input阴影&隐藏滚动条&抛异常&预加载&curl传json

    1.隐藏滚动条:-webkit-scrollbar{ display:none; } 2.array_walk():数组里的每个元素执行一个自定义函数: array_map():数组里的每个元素执行一 ...

  7. 在 ubuntu20 上安装 docker

    步骤如下 更新 apt-get 源 sudo apt-get update 安装包允许 apt-get 通过 https 使用仓库 sudo apt-get install apt-transport ...

  8. 【集群实战】sersync

    1. sersync介绍 sersync功能: 实时同步: sersync组成: sersync==inotify+rsync inotify: 监控某个目录下面"文件/目录"是否 ...

  9. Netty(一):ByteBuf读写过程图解

    我们知道ByteBuf通过读写两个索引分离,避免了NIO中ByteBuffer中读写模式切换时,需要flip等繁琐的操作. 今天就通过一段测试代码以及图例来直观的了解下ByteBuf中的readInd ...

  10. Kubernetes-在Kubernetes集群上搭建HBase集群

    经过3天的努力,终于在Kubernetes上把HBase集群搭建起来了,搭建步骤如下. 创建HBase镜像   配置文件包含core-site.xml.hbase-site.xml.hdfs-site ...