码迷,mamicode.com
首页 > 其他好文 > 详细

Miller_Rabin

时间:2017-10-02 21:30:15      阅读:130      评论:0      收藏:0      [点我收藏+]

标签:int   put   blog   amp   mod   pac   cpp   std   bool   

#include <bits/stdc++.h>
using namespace std;
int power(int a,int k,int mod){
int ans=1;
	while(k){
		if(k&1)ans*=a;
		a*=a;
		a%=mod;
		ans%=mod;
		k>>=1;
	}
	return ans;
}
bool isp(int n){
int a;
bool flag=false;
if(n==2)return true; if(n==3215031751)return false; for(int i=1;i<=10;i++){ a=rand()%(n-2)+2; if(power(a,n-1,n)!=1) return false; } return true; } int main(){ int n,a,b=0; srand(time(0)); cin>>n; if(isp(n)) puts("Yes"); else puts("No"); return 0; }

 

Miller_Rabin

标签:int   put   blog   amp   mod   pac   cpp   std   bool   

原文地址:http://www.cnblogs.com/HC-LittleJian/p/7622421.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!