问题标题: 酷町堂:1264 素数对

0
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
已采纳
叶子煊
叶子煊
中级光能
中级光能

你少了一种“Error”的情况

粗心哈!

~~~~~~~~~~~~~~~~~~~~~

望采纳~

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
我要回答