EOJ 1094 Prime Judge
来源:互联网 发布:外貌协会知乎 编辑:程序博客网 时间:2024/05/22 11:52
http://acm.cs.ecnu.edu.cn/problem.php?problemid=1094
题意:判断素数。
TLE
#include <iostream>#include <vector>using namespace std;const int maxn = 1000005;int a[maxn];vector<int> v;void init(){a[0] = 1;a[1] = 1;for(int i=2; i<maxn; i++){if(a[i] == 1)continue;v.push_back(i);for(int j=2; j*i < maxn; j++)a[i*j] = 1;}} void print(){int s = v.size();for(int i=0; i<s; i++){cout << v[i] << endl;}} int main(){init();long long n;while(cin >> n){if(n < maxn){if(a[n] == 0){cout << "YES" << endl;}else {cout << "NO" << endl;}}else {for(int i=0; i<v.size() && n != 1; i++){if(n % v[i] == 0){while(n % v[i] == 0){n /= v[i];}}}if(n == 1){cout << "NO" << endl;}else {cout << "YES" << endl;}}}//print();return 0;}
miller rabbin
TLE:做50次太多了,安神说四次都超,三次就过了AC
#include<stdio.h>#include<stdlib.h>#include<cmath>//typedef long long __int64;bool witness(__int64 a, __int64 n){ __int64 t,d,x; d=1; int i=ceil(log(n-1.0)/log(2.0)) - 1; for(;i>=0;i--) { x=d; d=(d*d)%n; if(d==1 && x!=1 && x!=n-1) return true; if( ((n-1) & (1<<i)) > 0)d=(d*a)%n; } return d==1?false: true;} bool miller_rabin(__int64 n){ if(n==2) return true; if(n==1 || ((n&1)==0)) return false; for(int i=0;i<3;i++){ __int64 a=rand()*(n-2)/RAND_MAX +1; if(witness(a, n)) return false; } return true;} int main(){ __int64 a; while(scanf("%I64d",&a)!=EOF) { if(miller_rabin(a))printf("YES\n"); else printf("NO\n"); } return 0;}
- EOJ 1094 Prime Judge
- prime judge(HOJ1356)
- Hoj 1356 Prime Judge
- python judge prime number
- BOJ 397. Prime Judge
- Prime Judge hoj Miller Rabin算法
- EOJ【1006】Prime 和素数有关的水题
- EOJ
- EOJ
- EOJ
- [数论] HOJ 1356 Prime Judge Miller Rabin+快速幂
- 复素数Prime Judge(新生归来赛B题)
- 题目 1040 Prime Number 九度Online Judge
- judge
- Judge
- [SinGuLaRiTy-1002] Miller Rabin Prime Judge 米勒·罗宾素数判定法
- EOJ gauss
- EOJ 1255
- Linux文件系统保护最佳实践:Tripwire
- 用程序来解数独
- 面试题
- 使用 Spring RestTemplate 调用 rest 服务时自定义请求头(custom HTTP headers)
- BMP文件格式详解(BMP file format)
- EOJ 1094 Prime Judge
- 结构体内存对齐
- log4cplus学习笔记(一)
- E1线路与SDH
- 文件上传实例
- jQuery中通过$.browser来判断浏览器
- log4cplus学习笔记(二)
- Android的APK反编译技术
- 嵌入式c笔试题