0
已解决
#include<iostream>
#include<algorithm>
#include<string>
#include<cmath>
using namespace std;
int main()
{
int a,z=-1,c[10000],sum=0;
cin>>a;
bool l;
for(int i=2;i<=a;i++)
{
l=true;
for(int j=2;j<i;j++)
{
if(i%j==0)
{
l=0;
break;
}
}
if(l)
{
z++;
c[z]=i;
}
}
for(int i=0;i<=z;i++)
{
for(int j=i;j<=z;j++)
{
if(c[j]-c[i]==2)
{
cout<<c[i]<<" "<<c[j]<<endl;
}
}
}
return 0;
}
90分
题目描述 Description
两个相差为2的素数称为素数对,如3和5,5和7等,输入一个数N,找出所有两个数均不大于N的素数对。
输入描述 Input Description
输入一个正整数N,1=<N<=10000
输出描述 Output Description
输出所有小于等于N的素数对。每对素数对输出一行, 中间用一个空格隔开。若没有找到任何素数对,则输出“Error”。
样例输入 Sample Input
20
样例输出 Sample Output
3 5
5 7
11 13
17 19
求各位大佬帮忙,谢谢
2
0
bool js(int x)
{
int j=2;
while(j<sqrt(x)&&x%j!=0)j++;
return j>sqrt(x);
}
int main()
{
int n,i;bool q=1;
cin>>n;
for(i=3;i<=n-2;i++)
if(js(i)==1&&js(i+2)==1)
{
cout<<i<<" "<<i+2<<endl;q=0;
}
if(q==1)cout<<"Error";
0

