zoukankan      html  css  js  c++  java
  • 利用数组下标对应指定范围内的质数,利用数组布尔类型值标志是否为质数

     1 package com.jdk7.chapter4;
     2 
     3 public class PrimeNumber {
     4     public void getPrime(int range){
     5         boolean[] sourceData = this.isPrime(range);
     6         
     7         if(!(sourceData==null)){
     8             int size = sourceData.length;
     9             Integer[] resultData = new Integer[size];
    10             //number定义要放在自增运算循环外,否则可能达不到预期效果
    11             int number = 0;
    12             for(int i=1;i<size;i++){
    13                 if(sourceData[i]){
    14                     resultData[i] = i;
    15                     System.out.print("素数["+i+"] :"+resultData[i].toString()+" ");
    16                     if(++number % 10 == 0){
    17                         System.out.println();
    18                     }
    19                 }
    20             }
    21             System.out.println();
    22             System.out.println("质数总个数为: "+number);
    23         }
    24     }
    25     
    26     private boolean[] isPrime(int range){
    27         boolean[] tag = new boolean[range+1];
    28         if(range<=0){return null;}
    29         for(int i=1;i<range+1;i++){
    30             if(i==1){
    31                 tag[i] = false;
    32             }else{
    33                 tag[i] = true;
    34                 }
    35         }
    36         //假设tag[i]为质数,则质数的倍数一定为非质数
    37         int sqrt = (int)Math.sqrt(range);
    38         for(int i=1;i<=sqrt;i++){
    39             if(tag[i]){
    40                 for(int j=(2 * i);j<=range;j+=i){
    41                     tag[j] = false;
    42                 }
    43             }
    44         }
    45         return tag;
    46     }
    47 }
     1 package com.jdk7.chapter4;
     2 
     3 public class PrimeNumberTest {
     4     public static void main(String[] args) {
     5         PrimeNumber pn = new PrimeNumber();
     6         int range = 100;
     7         pn.getPrime(range);
     8     }
     9 }
    10 
    11 执行结果:
    12 素数[2] :2 素数[3] :3 素数[5] :5 素数[7] :7 素数[11] :11 素数[13] :13 素数[17] :17 素数[19] :19 素数[23] :23 素数[29] :29 
    13 素数[31] :31 素数[37] :37 素数[41] :41 素数[43] :43 素数[47] :47 素数[53] :53 素数[59] :59 素数[61] :61 素数[67] :67 素数[71] :71 
    14 素数[73] :73 素数[79] :79 素数[83] :83 素数[89] :89 素数[97] :97 
    15 质数总个数为: 25
  • 相关阅读:
    JS-函数
    JS-数组
    JS-2
    课堂小技巧
    CSS利用filter/opacity实现背景透明
    [技巧心得] 背景半透明最佳实践
    Cadence Orcad 无法启动出现Capture.exe找不到cdn_sfl401as.dll问题
    正则表达式
    python小项目之头像右上角加数字
    Django开发之路 二(django的models表查询)
  • 原文地址:https://www.cnblogs.com/celine/p/8428747.html
Copyright © 2011-2022 走看看