zoj 2723 Semi-Prime
2013-07-23 16:27
393 查看
// 题意都不好理解 我以为是求 一个数被分成2个素数和 然后是求分成2个素数积 // 坑爹 忘记写 !=EOF 然后一直超时 然后换了几种 还是超时 一看别人代码 速度明显比我慢 // 然后发现被自己坑了 #include <iostream> #include <math.h> #include <map> #include <stack> #include <queue> #include <vector> #include <algorithm> #include <stdio.h> #include <string.h> using namespace std; #define maxm 10010 #define maxn 1000010 int gcd(int a,int b){ int r; while(r=a%b){a=b;b=r;} return b; } bool isp(int n){ if(n==2) return true; if(n%2==0||n==1) return false; int m=(int)(sqrt(n+1.0)); for(int i=3;i<=m;i+=2) if(n%i==0) return false; return true; } int fun(int n){ int m,i; if(n%2==0){ if(isp(n/2)) return 1; else return 0; }else{ int k; m=(int)(sqrt(n+1.0)); k=0; for(i=3;i<=m;i+=2) if(n%i==0){ if(isp(i)&&isp(n/i)) { return k=1; // printf("Yes\n"); break; } } if(!k) return 0; //printf("No\n"); } } int main() { int n; int m; int i,k; while(scanf("%d",&n)!=EOF){ if(fun(n)) printf("Yes\n"); else printf("No\n"); } return 0; }
// 郁闷 求出所有素数 还是不如上述快 #include <iostream> #include <math.h> #include <map> #include <stack> #include <queue> #include <vector> #include <algorithm> #include <stdio.h> #include <string.h> using namespace std; #define maxm 10010 #define maxn 1000010 int prim[maxn/3],p; bool f[maxn]; int gcd(int a,int b){ int r; while(r=a%b){a=b;b=r;} return b; } bool isp(int n){ if(n==2) return true; if(n%2==0||n==1) return false; int m=(int)(sqrt(n+1.0)); for(int i=3;i<=m;i+=2) if(n%i==0) return false; return true; } int getprime(){ int i,j; f[1]=true; for(i=4;i<=maxn;i+=2) f[i]=true; int m=(int)(sqrt(maxn+1.0)); for(i=3;i<=m;i+=2){ for(j=i*i;j<=maxn;j+=i) f[j]=true; } for(i=1;i<=maxn;i++) if(!f[i]) prim[p++]=i; } int main() { int n; int m; int i,k; getprime(); while(scanf("%d",&n)!=EOF){ m=(int)(sqrt(n+1.0)); k=i=0; while(prim[i]<=m){ if(n%prim[i]==0&&!f[n/prim[i]]) { k=1; break; } i++; } if(!k) printf("No\n"); else printf("Yes\n"); } return 0; }
相关文章推荐
- zoj - 2723 - Semi-Prime
- ZOJ 2723 Semi-Prime ||ZOJ 2060 Fibonacci Again 水水水!
- ZOJ 2723 Semi-Prime ||ZOJ 2060 Fibonacci Again 水水水!
- ZOJ 2723 Semi-Prime(set容器使用)
- ZOJ 2723 Semi-Prime (素数筛选大法)
- zoj 2723 Semi-Prime(专门做数论的第一道水水~~)
- ZOJ 2723 Semi-Prime
- ZOJ 2723 Semi-Prime
- zoj 2723 Semi-Prime(素筛打表+搜索优化)
- ZOJ2723 Semi-Prime【素数筛选+试探法】
- zoj_2723 Semi-Prime 半素数
- zoj 2723 Semi-Prime(set)
- ZOJ 2723 Semi-Prime
- POJ 3292 Semi-prime H-numbers
- poj3292 Semi-prime H-numbers
- [poj 3292] Semi-prime H-numbers 筛数
- POJ - 3292 Semi-prime H-numbers(素数筛法)
- ZOJ-2723
- zoj1842 Prime Distance
- poj 3292 Semi-prime H-numbers 筛素数(简单题)