hdu 2138 How many prime numbers (Miller Rabbin大质数判定)
来源:互联网 发布:linux c 串口中断 编辑:程序博客网 时间:2024/06/17 23:56
How many prime numbers
Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 18144 Accepted Submission(s): 6180
Problem Description
Give you a lot of positive integers, just to find out how many prime numbers there are.
Input
There are a lot of cases. In each case, there is an integer N representing the number of integers to find. Each integer won’t exceed 32-bit signed integer, and each of them won’t be less than 2.
Output
For each case, print the number of prime numbers you have found out.
Sample Input
32 3 4
Sample Output
2
Author
wangye
Source
HDU 2007-11 Programming Contest_WarmUp
Recommend
威士忌 | We have carefully selected several similar problems for you: 2136 1431 2132 2139 2012
题解:Miller Rabbin大质数判定
控制一下尝试的次数,此题容易TLE
#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>#include<cmath>#define LL long longusing namespace std;int n;LL quickpow(LL num,LL x,LL p){LL base=num%p; LL ans=1;while (x) {if (x&1) ans=ans*base%p;x>>=1;base=base*base%p;}return ans; }bool miller_rabbin(LL n){if (n==2) return true;if (n<2||!(n&1)) return false;LL t=0;LL a,x,y,u=n-1;while (!(u&1)) t++,u>>=1;for (int i=0;i<=100;i++) {a=rand()*rand()%(n-1)+1;x=quickpow(a,u,n);for (int j=0;j<t;j++) {y=x*x%n;if (y==1&&x!=1&&x!=n-1) return false;x=y;}if (x!=1) return false;} return true;}int main(){freopen("a.in","r",stdin);freopen("my.out","w",stdout);while (scanf("%d",&n)!=EOF){ int cnt=0;for (int i=1;i<=n;i++) {int x; scanf("%d",&x);cnt+=miller_rabbin((LL)x);} printf("%d\n",cnt); }}
0 0
- hdu 2138 How many prime numbers (Miller Rabbin大质数判定)
- hdu 4910 Problem about GCD (miller rabbin 大质数判定)
- hdu 2138 How many prime numbers (素数判定)
- HDU 2138 How many prime numbers(大数字素数判定)
- HDu 2138 How many prime numbers 高效Miller素数测试
- HDU 2138 How many prime numbers 质数个数
- hdu 2138 How many prime numbers(数论:素数判定)
- HDU -- 2138 How many prime numbers + hihocoder 1287【大素数判定】
- HDU-2138 How many prime numbers
- hdu 2138 How many prime numbers(miller_rabin?)
- HDU 2138 How many prime numbers
- HDU 2138 How many prime numbers
- hdu 2138 How many prime numbers
- hdu 2138 How many prime numbers
- hdu-2138-How many prime numbers
- hdu-2138- How many prime numbers
- HDU 2138 How many prime numbers
- hdu 2138 How many prime numbers
- Android开发:getContentResolver的使用
- Java中集合List,Map,Set的使用
- Hashtable,HashMap,ConcurrentHashMap 底层实现原理与线程安全问题
- Cron 触发器及相关内容 (第一部分)
- mysql学习(一)
- hdu 2138 How many prime numbers (Miller Rabbin大质数判定)
- centos安装PHPredis扩展安装
- 华为灵活qinq简单配置
- jsp单点登录跳转显示首页,谷歌火狐正常,ie11样式出现问题
- C#中的代理与事件
- Cron 触发器及相关内容 (第二部分)
- SQL join 子查询组合 NULL
- 基于Zxing的二维码扫描解析库——ZxingPlus
- 蓝桥杯-入门训练-Fibonacci数列