国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

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

2019-11-26 15:32:46
字體:
供稿:網(wǎng)友

復(fù)制代碼 代碼如下:

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

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

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

  // 打印n以內(nèi)的所有素數(shù),每排10個輸出
  System.out.println(n + "以內(nèi)的素數(shù)如下: ");
  int count = 0;        // 當(dāng)前已經(jīng)輸出的素數(shù)個數(shù)
  int rowLength = 10;   // 每行輸出的素數(shù)個數(shù)
  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);
 }
}

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 牙克石市| 锦屏县| 青田县| 湟源县| 河源市| 樟树市| 甘肃省| 龙泉市| 五寨县| 沾化县| 延寿县| 阿荣旗| 张北县| 化隆| 山丹县| 大悟县| 抚顺县| 商南县| 灯塔市| 安远县| 贡觉县| 呼和浩特市| 巨野县| 永兴县| 南部县| 绵阳市| 安塞县| 定兴县| 秦安县| 白沙| 班戈县| 平潭县| 张家港市| 奉化市| 景谷| 老河口市| 开原市| 陵川县| 阳高县| 孙吴县| 太仓市|