• 蓝桥杯 等差素数列(枚举)



    标题:等差素数列

    2,3,5,7,11,13,....是素数序列。
    类似:7,37,67,97,127,157 这样完全由素数组成的等差数列,叫等差素数数列。
    上边的数列公差为30,长度为6。

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

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

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

    注意:需要提交的是一个整数,不要填写任何多余的内容和说明文字。

     1 #include<iostream>
     2 
     3 using namespace std;
     4 
     5 bool isPrime(int n)    //判断是否为素数 
     6 {
     7     if(n == 0 || n == 1)
     8         return false;
     9     if(n == 2)
    10         return true;
    11         
    12     for(int i = 2; i < n; ++i)
    13     {
    14         if(n % i == 0)
    15             return false;
    16     } 
    17     return true;
    18 
    19 }
    20 
    21 int prime[100000];    //用于保存所有素数 
    22 
    23 int main()
    24 {
    25     int index = 0;
    26     for(int i = 2; i <= 100000; ++i)
    27     {
    28         if(isPrime(i))
    29         {
    30             prime[index] = i;    //将素数都保存在prime数组中 
    31             index++;
    32         }    
    33     }
    34     
    35     //对素数数组中的所有数进行枚举
    36     for(int i = 0; i <= index; ++i)    //i表示素数数组的下标 
    37     {
    38         for(int d = 3; d <= 500; ++d)    //d为公差 
    39         {
    40             int j;
    41             //首先判断prime[i]+d是否是素数,如果是,继续判断prime[i]+2*d是否是素数,依次类推,连续10次 
    42             for(j = 0; j < 10; ++j)    
    43                 if(!isPrime(prime[i] + j*d))
    44                     break;
    45             
    46             if(j == 10)
    47             {
    48                 cout << d << endl;
    49                 return 0; 
    50             } 
    51         }
    52     } 
    53     
    54     
    55     return 0;
    56 }

    最终结果:210

     

  • 相关阅读:
    Java多线程-新特性-有返回值的线程
    Java多线程-新特性-线程池
    java多线程-慎重使用volatile关键字
    Java多线程-线程的调度(守护线程)
    Java多线程-线程的调度(合并)
    Java多线程-线程的调度(让步)
    Java多线程-线程的调度(优先级)
    Java多线程-线程的调度(休眠)
    Java多线程-线程的交互
    let 命令 与 var的区别
  • 原文地址:https://www.cnblogs.com/FengZeng666/p/10547672.html
Copyright © 2020-2023  润新知