当前位置: 代码迷 >> 综合 >> 1898-要发就发
  详细解决方案

1898-要发就发

热度:33   发布时间:2023-09-27 14:08:41.0

请将不超过1993的所有素数从小到大排成一行,第二行上的每个素数都等于他右肩上的素数之差,编程求出,第二行中是否存在这样的若干个连续的整数,它们的和恰好是1898

#include <iostream>


using namespace std;


int main()
{
    int a,b;
    int i[1000];
    int k,m;
    int n=0;
    for (a=2;a<=1993;a++)
    {
        for (b=2;b<=a/2;b++)
        {
            if (a%b==0)
                break;
        }
        if (b==a/2+1)
            {
                i[n]=a;
                cout<<i[n]<<endl;
                n=n+1;
            }
    }
    for (m=0;i[m]<=95;m++)
    {
        for (k=n-1;i[k]>=1898;k--)
        {
                if (i[k]-i[m]==1898)
                cout <<i[m]<<" "<<i[k]<<endl;
        }
    }
    return 0;
}