素数等差数列

题目描述

本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。

2,3,5,7,11,13,....2,3,5,7,11,13,.... 是素数序列。 类似:7,37,67,97,127,1577,37,67,97,127,157 这样完全由素数组成的等差数列,叫等差素数数列。

上边的数列公差为 3030,长度为 66。

20042004 年,格林与华人陶哲轩合作证明了:存在任意长度的素数等差数列。 这是数论领域一项惊人的成果!

有这一理论为基础,请你借助手中的计算机,满怀信心地搜索:

长度为 1010 的等差素数列,其公差最小值是多少?

运行限制

  • 最大运行时间:1s
  • 最大运行内存: 128M
复制代码
#include <iostream>
using namespace std;
int sushu(int a)
{
    int i;
    for (i = 2; i * i <= a; i++)
    {
        if (a % i == 0)
            return 0;
    }
    if (i * i > a)
        return 1;//1是素数;
}
int main()
{
    int i, j = 0, k, n;
    int a[10000] = { 0 };
    for (i = 1; i < 6000; i++)
    {
        if (sushu(i) == 1)
            a[j++] = i;
    }//先将所有素数存入数组中,这难道就是打表大概?
    for (i = 0; i < j; i++)
    {
        for (k = 3; k < 500; k++)//为什么是500和6000啊?
        {
            for (n = 0; n < 10; n++)
            {
                if (sushu(a[i] + k * n))
                    continue;
                else
                    break;
            }
            if (n == 10)
            {
                cout << k;
            return 0;
            }
                
       }
    }
    return 0;
}
复制代码

 

posted @   lvxinnnnnn  阅读(180)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
点击右上角即可分享
微信分享提示