1403:素數對
時間限制: 1000 ms 記憶體限制: 65536 KB
提交數:38296 透過數: 28167
【題目描述】
兩個相差為2的素數稱為素數對,如5和7,17和19等,本題目要求找出所有兩個數均不大於n的素數對。
【輸入】
一個正整數n(1≤n≤10000)。
【輸出】
所有小於等於n的素數對。每對素數對輸出一行,中間用單個空格隔開。若沒有找到任何素數對,輸出empty。
【輸入樣例】
100
【輸出樣例】
3 5
5 7
11 13
17 19
29 31
41 43
59 61
71 73
點選檢視程式碼
#include<bits/stdc++.h>
using namespace std;
bool isPrime(int n)
{
if (n==0 || n==1) return false;
for (int i=2;i*i<=n;i++)
if (n%i==0) return false;
return true;
}
int main()
{
int n;
bool flag=false;
scanf("%d",&n);
for (int i=2;i<=n-2;i++)
if (isPrime(i) && isPrime(i+2))
{
printf("%d %d\n",i,i+2);
flag=true;
}
if (flag==false)
printf("empty");
return 0;
}