美文网首页Java编程解题
第六章第二十八题(梅森素数)(Mersenne prime) -

第六章第二十八题(梅森素数)(Mersenne prime) -

作者: in2013 | 来源:发表于2020-05-19 18:10 被阅读0次

    **6.28(梅森素数)如果一个素数可以写成的形式,其中p是某个正整数,那么这个素数就称作梅森素数。编写程序,找出p31的所有梅森素数,然后如下显示输入结果:

    **6.28(Mersenne prime) A prime number is called a Mersenne prime if it can be written in the form for some positive integer p. Write a program that finds all Mersenne primes with p 31 and displays the output as follows:

    下面是参考答案代码:

    // https://cn.fankuiba.com
    public class Ans6_28_page203 {
        public static void main(String[] args) {
            System.out.printf("%-15s%5s%s", "p", "2^p-1", "\n--------------------\n");
    
            double masonPrime;
            for (int p = 2; p <= 31; p++) {
                masonPrime = Math.pow(2,p)-1;
                if (isPrime(masonPrime))
                    System.out.printf("%-15d%1.0f\n",p,masonPrime);
            }
        }
    
        public static boolean isPrime(double number) {
            boolean isPrime = true;
            for (int divisor = 2; divisor <= number / 2; divisor++) {
                if (number % divisor == 0) {
                    isPrime = false;
                    break;
                }
            }
        return isPrime;
        }
    }
    

    适用Java语言程序设计与数据结构(基础篇)(原书第11版)Java语言程序设计(基础篇)(原书第10/11版)更多内容

    相关文章

      网友评论

        本文标题:第六章第二十八题(梅森素数)(Mersenne prime) -

        本文链接:https://www.haomeiwen.com/subject/boxiohtx.html