标签:素数判定
打表,把所有的素数找出来,并且还要把那些数是素数标记下
3 6 10 20
11 5 13 3 23 3
#include <iostream> #include <stdio.h> #include <stdio.h> #include <string.h> #include <algorithm> #include <math.h> #include<string> #include <queue> #include<map> #define ll long long #define N 1000010 #define eps 1e-6 #define pi acos(-1.0) using namespace std; const int INF = (1 << 30); bool isprime[N]; int prime[N], primenum;//有primenum个素数 math.h void PRIME(){ primenum = 0; memset(isprime, false, sizeof(isprime)); isprime[2] = true; prime[primenum++] = 2; for (int i = 3; i < N; i += 2) for (int j = 0; j<primenum; j++) if (i%prime[j] == 0)break; else if (prime[j]>sqrt((double)i) || j == primenum - 1) { prime[primenum++] = i; isprime[i] = true; break; } } int main() { PRIME(); int t, n; cin >> t; while (t--) { cin >> n; int flag = 0; for (int i = 0; i < primenum; i++) { if (prime[i] > n && isprime[prime[i] - n]) { flag = 1; printf("%d %d\n", prime[i], prime[i] - n); break; } } if (!flag) puts("FAIL"); } return 0; }
标签:素数判定
原文地址:http://blog.csdn.net/zcr_7/article/details/41453423