10:素数对

你说的曾经没有我的故事 提交于 2020-01-29 23:16:48

总时间限制: 1000ms 内存限制: 65536kB
描述
两个相差为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<iostream>
#include<cstring>
#include<string>
#include<math.h>
using namespace std;
bool isPrime(int a){
	if(a==1)
	return false;
	if(a==2||a==3)
	return true;
	for(int i=2;i<=sqrt(a);i++){
		if(a%i==0)
		return false;
	}
	return true;
}
int main(){
	int n;
	cin>>n;
	bool flag=false;
	for(int i=3;i<=n;i++){
		if(isPrime(i-2)&&isPrime(i)){
			flag=true;
			cout<<i-2<<' '<<i<<endl;			
		}
	}
	if(flag==false)
	cout<<"empty";
	return 0;
}
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!