一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服務器之家 - 編程語言 - JAVA教程 - java使用篩選法求n以內的素數示例(java求素數)

java使用篩選法求n以內的素數示例(java求素數)

2019-11-19 14:33Java教程網 JAVA教程

這篇文章主要介紹了java使用篩選法求n以內的素數示例(java求素數),需要的朋友可以參考下

代碼如下:

/**
 * @author jxqlovedn
 * 埃拉托斯特尼素數篩選法,請參考:http://zh.wikipedia.org/zh-cn/埃拉托斯特尼篩法
 */
public class AratosternyAlgorithm {

 public static void getPrimes(int n) {
  if(n < 2 || n > 1000000)   // 之所以限制最大值為100萬,是因為JVM內存限制,當然有其他靈活方案可以繞過(比如位圖法)
   throw new IllegalArgumentException("輸入參數n錯誤!");

  int[] array = new int[n];   // 假設初始所有數都是素數,且某個數是素數,則其值為0;比如第一個數為素數那么array[0]為0
  array[0] = 1;   // 0不是素數
  array[1] = 1;   // 1不是素數
  // 下面是篩選核心過程
  for(int i = 2; i < Math.sqrt(n);i++) {   // 從最小素數2開始
   if(array[i] == 0) {
    for(int j = i*i; j < n; j += i) {
     array[j] = 1;   // 標識該位置為非素數
    }
   }
  }

  // 打印n以內的所有素數,每排10個輸出
  System.out.println(n + "以內的素數如下: ");
  int count = 0;        // 當前已經輸出的素數個數
  int rowLength = 10;   // 每行輸出的素數個數
  for(int i = 0; i < array.length; i++) {
   if(array[i] == 0) {
    if(count % rowLength == 0 && count != 0) {
     System.out.println();
    }
    count++;

    System.out.print(i + "\t");
   }
  }
 }

 public static void main(String[] args) {
  getPrimes(99999);
 }
}

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 午夜国产 | 国产在线欧美日韩精品一区二区 | 亚洲高清国产拍精品动图 | 亚洲日日做天天做日日谢 | 九九久久国产精品免费热6 九九精品视频一区二区三区 | 蜜桃免费 | 99视频在线免费 | 免费理伦片手机在线播放 | 高清在线免费 | 深夜福利在线播放 | coolgay男男gayxxx chinese壮直男gay老年人 chinese野外gay军人 | 好吊色网站 | 欧美粗黑巨大gay | 日本xxxx在线视频免费 | 女人特黄大aaaaaa大片 | 色哟哟在线资源 | 朝鲜女人free性hu | 二次元美女内裤凹陷太深 | 暖暖的免费观看高清视频韩国 | 亚洲视频1| 欧美贵妇vs高跟办公室 | 日韩aaa| 99精彩免费观看 | 从后面撕开老师的丝袜动态图 | 国产精品第2页 | 国产精品视频免费一区二区三区 | 久久人妻无码毛片A片麻豆 久久热这里只有 精品 | 黑人艹| 日产精品卡一卡2卡三卡乱码工厂 | 91啦中文在线观看 | 四虎在线视频免费观看 | 男人天堂色 | 日韩国产欧美成人一区二区影院 | 国产91无毒不卡在线观看 | 九九九国产在线 | 欧美亚洲国产一区二区三区 | 欧美亚洲国产综合在线 | 成人欧美视频在线看免费 | 美女口述又粗又大感觉 | 日本中文字幕二区三区 | 国产 日韩欧美 |