Java黑皮书课后题第10章:*10.18(大素数)编写程序找出五个大于Long.Max_VALUE的素数
生活随笔
收集整理的這篇文章主要介紹了
Java黑皮书课后题第10章:*10.18(大素数)编写程序找出五个大于Long.Max_VALUE的素数
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
10.18(大素數)編寫程序找出五個大于Long.Max_VALUE的素數
- 題目
- 破題
- 代碼
- 運行結果
題目
10.18(大素數)編寫程序找出五個大于Long.Max_VALUE的素數
破題
類似編程練習題10.17,不過這個是找素數
代碼
import java.math.BigDecimal;public class Test18 {public static void main(String[] args) {BigDecimal bd = new BigDecimal(Long.MAX_VALUE);int count = 0;while (count < 5){bd = bd.add(BigDecimal.ONE);if (isPrimeNumber(bd)){System.out.println(bd);count++;}}}public static boolean isPrimeNumber(BigDecimal bd){BigDecimal divNum;for (BigDecimal temp = new BigDecimal("2"); !temp.equals(bd.divide(new BigDecimal("2"))); temp = temp.add(BigDecimal.ONE)) {divNum = bd.remainder(temp);if (divNum.equals(BigDecimal.ONE)){return false;}}return true;} }運行結果
和10.17一樣,跑半天沒有任何輸出
暫時沒找到優化方法
如果有好點子的歡迎評論或私信
我會及時修改
總結
以上是生活随笔為你收集整理的Java黑皮书课后题第10章:*10.18(大素数)编写程序找出五个大于Long.Max_VALUE的素数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java黑皮书课后题第10章:*10.1
- 下一篇: Java黑皮书课后题第10章:*10.1