Java黑皮书课后题第6章:**6.28(梅森素数)如果一个素数可以写成2^p-1的形式,其中p是某个正整数,那么这个素数就称作梅森素数。编写程序,找出p≤31的所有梅森素数,然后显示如下结果
生活随笔
收集整理的這篇文章主要介紹了
Java黑皮书课后题第6章:**6.28(梅森素数)如果一个素数可以写成2^p-1的形式,其中p是某个正整数,那么这个素数就称作梅森素数。编写程序,找出p≤31的所有梅森素数,然后显示如下结果
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
6.28(梅森素數)如果一個素數可以寫成2^p-1的形式,其中p是某個正整數,那么這個素數就稱作梅森素數。編寫程序,找出p≤31的所有梅森素數,然后顯示如下結果
- 題目
- 題目描述
- 破題
- 代碼
題目
題目描述
6.28(梅森素數)如果一個素數可以寫成2^p-1的形式,其中p是某個正整數,那么這個素數就稱作梅森素數。編寫程序,找出p≤31的所有梅森素數,然后顯示如下結果
p 2^p-1 —————————————— 2 3 3 7 5 31 7 127 13 8191 17 131071 19 524287 31 2147483647破題
代碼
public class Test6_28 {public static void main(String[] args) {// 打印表頭和分隔符System.out.println("p\t\t2^p-1");System.out.println("——————————————");// 遍歷pfor (int p = 1; p <= 31; p++){if (isPrimeNumber((int) (Math.pow(2, p)-1))){System.out.println(p+"\t\t" + (int) (Math.pow(2, p)-1));}}}public static boolean isPrimeNumber(int i){if (i == 1) {return false;}for (int n = 2;n <= i / 2;n++ ){if (i % n == 0){return false;}}return true;} }總結
以上是生活随笔為你收集整理的Java黑皮书课后题第6章:**6.28(梅森素数)如果一个素数可以写成2^p-1的形式,其中p是某个正整数,那么这个素数就称作梅森素数。编写程序,找出p≤31的所有梅森素数,然后显示如下结果的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java黑皮书课后题第6章:**6.27
- 下一篇: Java黑皮书课后题第6章:**6.29