信奧一本通1403:素數對

廿八都江堰新闻發表於2024-06-29

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;
}

相關文章