#include<bits/stdc++.h>
using namespace std;
typedef long long ll;//根据需要改成unsigned long longconst int times=20;ll mul(ll x,ll y,ll MOD){x=x%MOD,y=y%MOD;return ((x*y-(ll)(((long double)x*y+0.5)/MOD)*MOD)%MOD+MOD)%MOD;
}ll Random(ll n){return ((double)rand()/RAND_MAX*n+0.5);
}ll pw(ll a,ll b,ll MOD){ll ans=1;while(b){if(b&1) ans=mul(ans,a,MOD);b/=2;a=mul(a,a,MOD);}return ans;
}bool witness(ll a,ll n){ll tmp=n-1;int j=0;while(tmp%2==0){tmp/=2;++j;}ll x=pw(a,tmp,n);if(x==1 || x==n-1) return true;while(j--){x=mul(x,x,n);if(x==n-1) return true;}return false;
}bool miller(ll n){if(n==2) return true;if(n<2 || n%2==0) return false;for(int i=1;i<=times;++i){ll a=Random(n-2)+1;if(!witness(a,n)) return false;}return true;
}

转载于:https://www.cnblogs.com/wafish/p/10465249.html

米勒罗宾素数判定(模板)相关推荐

  1. 2018宁夏邀请赛 - Goldbach(米勒罗宾素数测试)

    题目链接:点击查看 题目大意:给出一个偶数,将其拆为两个素数之和 题目分析:因为将一个偶数拆为两个素数和时,答案会有多种情况,挑较小的素数最小时,一般此素数会非常小,最大也超不过一万,所以我们需要解决 ...

  2. 关于素数常用结论--威尔逊定理、欧拉定理、费马小定理、米勒罗宾算法

    再需要判定的数比较大时,用枚举法肯定不行的,但目前数学界也没有任何一种又快又准确的判定素数的方法,并且也证明了素数不存在任何一种通项表达式.但作为初等数论中最大的一部分内容,数学家们对素数性质进行了大 ...

  3. HDU多校第三场6608 Fansblog(米勒罗宾+威尔逊定理)

    题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=6608 题目说给你一个1e9−1e14的素数p,让你找到比p小的最大素数q,求q!mod  p的值题目说 ...

  4. HPU272 wzy的大冒险——出发前的清理(米勒罗宾板子)

    272. wzy的大冒险--出发前的清理 单点时限: 1.0 sec 内存限制: 512 MB 由于上次学弟们没有ak,导致许多蚂蚁被留下了.wzy在出发冒险前请来了一只食蚁兽帮忙清理. 现在出现了一 ...

  5. HDOJ-2012 素数判定

    素数判定 Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 65536/32768K (Java/Other) Total Submissi ...

  6. HDOJ 2012 素数判定 解题报告

    今天确实坑爹,, 这么简单的题目都WA好多次,,, 都是细节上的错误, 直接导致崩盘,,额... 好吧,这个完全就是素数判断,没什么好说的 ,, 就是注意flag标记和判断是否符合条件,,其他就是输出 ...

  7. 费马小定理与素数判定

    费马小定理是初等数论四大定理(威尔逊定理,欧拉定理(数论中的欧拉定理,即欧拉函数),中国剩余定理和费马小定理)之一,在初等数论中有着非常广泛和重要的应用.实际上,它是欧拉定理的一个特殊情况. 其内容为 ...

  8. POJ2262Goldbach's Conjecture 简单的素数判定

    作者:ACShiryu 时间:2011-8-4 原题:http://poj.org/problem?id=2262 Goldbach's Conjecture Time Limit: 1000MS M ...

  9. C++描述杭电OJ 2012.素数判定 ||

    C++描述杭电OJ 2012.素数判定 || Problem Description 对于表达式n^2+n+41,当n在(x,y)范围内取整数值时(包括x,y)(-39<=x<y<= ...

最新文章

  1. RxJava firstElement 与 lastElement 以及 elementAt
  2. ECharts 交互组件概述
  3. 实现table鼠标移动改变table行背景色
  4. 图片上传之后清空_OSS文件上传及OSS与ODPS之间数据连通
  5. 2018/Province_Java_A/2/星期一
  6. 基于Dapper的开源Lambda扩展,且支持分库分表自动生成实体
  7. 微信公众平台开发教程(二) 基本原理及消息接口
  8. JS实现键盘事件上下翻页
  9. 判断是否为回文字符串
  10. IPv6 的速度比 IPv4 更快?
  11. 初识深度信念网络DBN
  12. 不经艰难困苦,何来玉汝于成
  13. Intel处理器 天梯图
  14. zcmu-5066: 黑暗长廊
  15. 攻防对抗形势下代码重用技术的演进
  16. 在Linux上配置DRBD部署
  17. 银联在线网关支付,快速接入指南
  18. android模拟器 出错:X Error of failed request: BadRequest (invalid request code or no such operation)
  19. 简历模板(建议收藏)
  20. centos 8编译安装 zstd

热门文章

  1. rust8G内存够不够用_小米10运行内存8GB和12GB有什么区别,买哪个更划算?
  2. 北理工远程教育在线作业统考计算机,北理工19春《操作系统》在线作业【标准答案】...
  3. oracle 树形结构表,树结构表递归查询在ORACLE和MSSQL中的实现方法
  4. 高光谱提取薯叶特征波长
  5. 利用java多线程技术和图像显示技术来完成动画设计。
  6. Destoon数据库配置文件在哪_SpringBoot中yml配置文件说明和一些常用配置项说明
  7. “我想进大厂做AI工程师”“你冷静一下”
  8. oracle cloud认证费用,ORACLE Cloud 创建实例费用提问
  9. 在哪里定义_定义市场的关键字:找出它们在哪里使用,以便您可以抢占该市场...
  10. 货物贸易外汇监测系统 企业版_企业能耗在线监测系统介绍