标签:素数判定
打表,把所有的素数找出来,并且还要把那些数是素数标记下
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