蓝桥杯入门即劝退(六)等差素数数列

九层之台,起于垒土,你我皆是垒土人✔
愿我的文章对你有所帮助!
欢迎===关注===点赞===评论,共同学习,共同进步!

一、题目

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

上边的数列公差为 30,长度为 6。

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

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

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

解题思路:1、首先必定是写一个方法判断是否是素数,然后选取一个动态数组存储一定的素数。

2、众所周知等差数列的通项公式:A_n{}=A_1{}+D(n-1);A1是首项,D为公差。

3、这时还是没有思路?通过查找资料得知,一个等差素数数列的公差,为该长度内所有素数的乘积!!

4、这下简单了吧?那么就明确可以得知该数列公差为10以内的素数乘积!!

二、代码实现:

结果为210

public static void main(String aggs[]){
        List  array=new ArrayList();
        for(int i=2;i<10;i++)
        {
                if (F(i)==true)
                    array.add(i);
        }
        int D=1;
        for (int i:array)
            D*=i;
        System.out.println(D);
    }
    public static boolean F(int x)
    {
        if(x<2) return false;
        for(int i=2;i<=x/i;i++)
        {
            if(x%i==0)
                return false;
        }
        return true;
    }

 

发文不易,恳请大佬们高抬贵手!


点赞:随手点赞是种美德,是大佬们对于本人创作的认可!


评论:往来无白丁,是你我交流的的开始!


收藏:愿君多采撷,是大佬们对在下的赞赏!

你可能感兴趣的:(决胜蓝桥杯,蓝桥杯,算法,java)