米勒罗宾素数判定(模板)
#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
米勒罗宾素数判定(模板)相关推荐
- 2018宁夏邀请赛 - Goldbach(米勒罗宾素数测试)
题目链接:点击查看 题目大意:给出一个偶数,将其拆为两个素数之和 题目分析:因为将一个偶数拆为两个素数和时,答案会有多种情况,挑较小的素数最小时,一般此素数会非常小,最大也超不过一万,所以我们需要解决 ...
- 关于素数常用结论--威尔逊定理、欧拉定理、费马小定理、米勒罗宾算法
再需要判定的数比较大时,用枚举法肯定不行的,但目前数学界也没有任何一种又快又准确的判定素数的方法,并且也证明了素数不存在任何一种通项表达式.但作为初等数论中最大的一部分内容,数学家们对素数性质进行了大 ...
- HDU多校第三场6608 Fansblog(米勒罗宾+威尔逊定理)
题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=6608 题目说给你一个1e9−1e14的素数p,让你找到比p小的最大素数q,求q!mod p的值题目说 ...
- HPU272 wzy的大冒险——出发前的清理(米勒罗宾板子)
272. wzy的大冒险--出发前的清理 单点时限: 1.0 sec 内存限制: 512 MB 由于上次学弟们没有ak,导致许多蚂蚁被留下了.wzy在出发冒险前请来了一只食蚁兽帮忙清理. 现在出现了一 ...
- HDOJ-2012 素数判定
素数判定 Time Limit : 2000/1000ms (Java/Other) Memory Limit : 65536/32768K (Java/Other) Total Submissi ...
- HDOJ 2012 素数判定 解题报告
今天确实坑爹,, 这么简单的题目都WA好多次,,, 都是细节上的错误, 直接导致崩盘,,额... 好吧,这个完全就是素数判断,没什么好说的 ,, 就是注意flag标记和判断是否符合条件,,其他就是输出 ...
- 费马小定理与素数判定
费马小定理是初等数论四大定理(威尔逊定理,欧拉定理(数论中的欧拉定理,即欧拉函数),中国剩余定理和费马小定理)之一,在初等数论中有着非常广泛和重要的应用.实际上,它是欧拉定理的一个特殊情况. 其内容为 ...
- POJ2262Goldbach's Conjecture 简单的素数判定
作者:ACShiryu 时间:2011-8-4 原题:http://poj.org/problem?id=2262 Goldbach's Conjecture Time Limit: 1000MS M ...
- C++描述杭电OJ 2012.素数判定 ||
C++描述杭电OJ 2012.素数判定 || Problem Description 对于表达式n^2+n+41,当n在(x,y)范围内取整数值时(包括x,y)(-39<=x<y<= ...
最新文章
- RxJava firstElement 与 lastElement 以及 elementAt
- ECharts 交互组件概述
- 实现table鼠标移动改变table行背景色
- 图片上传之后清空_OSS文件上传及OSS与ODPS之间数据连通
- 2018/Province_Java_A/2/星期一
- 基于Dapper的开源Lambda扩展,且支持分库分表自动生成实体
- 微信公众平台开发教程(二) 基本原理及消息接口
- JS实现键盘事件上下翻页
- 判断是否为回文字符串
- IPv6 的速度比 IPv4 更快?
- 初识深度信念网络DBN
- 不经艰难困苦,何来玉汝于成
- Intel处理器 天梯图
- zcmu-5066: 黑暗长廊
- 攻防对抗形势下代码重用技术的演进
- 在Linux上配置DRBD部署
- 银联在线网关支付,快速接入指南
- android模拟器 出错:X Error of failed request: BadRequest (invalid request code or no such operation)
- 简历模板(建议收藏)
- centos 8编译安装 zstd
热门文章
- rust8G内存够不够用_小米10运行内存8GB和12GB有什么区别,买哪个更划算?
- 北理工远程教育在线作业统考计算机,北理工19春《操作系统》在线作业【标准答案】...
- oracle 树形结构表,树结构表递归查询在ORACLE和MSSQL中的实现方法
- 高光谱提取薯叶特征波长
- 利用java多线程技术和图像显示技术来完成动画设计。
- Destoon数据库配置文件在哪_SpringBoot中yml配置文件说明和一些常用配置项说明
- “我想进大厂做AI工程师”“你冷静一下”
- oracle cloud认证费用,ORACLE Cloud 创建实例费用提问
- 在哪里定义_定义市场的关键字:找出它们在哪里使用,以便您可以抢占该市场...
- 货物贸易外汇监测系统 企业版_企业能耗在线监测系统介绍