zoukankan      html  css  js  c++  java
  • 求100以内的质数

    今天看博客园的时候看到这个问题,突然想起自己又很久没有关注过算法了。印象中这个是写过的,一个是利用开方来解决,一个是利用筛选来解决,还有个利用bitarray的筛选法。复习了下,代码如下:

    using System;
    
    class FindPrime
    {
    static void Main()
    {
        prime_while();
        Console.WriteLine();
        prime_array();
    }
    
        public static void prime_while()
        {
            const int Max = 100;
            Console.Write("2 ");
            int n=1,k=3;
            do{
              int j = (int)Math.Sqrt(k);
              if(j%2==0)
                 j--;
              bool isPrime=true;
              while(j>2 && isPrime)
                  if(k%j==0)
                    isPrime=false;
                  else
                    j-=2;
              if(isPrime)
              {
                 n++;
                 Console.Write(k+" ");
              }
              k+=2;
              }while(k<=Max);
    
        }
    
    
        public static void prime_array()
        {
           const int Max = 100;
           int[] prime = new int[30];
           prime[0]=2;
           int n=1,k=3,i=1;
           do{
              int j=0;
              while(j<n && k%prime[j]!=0)
              {
                   j++;
              } 
              if(j==n)
              {
                 prime[i]=k;
                 i++;
                 n++;
              }
               k+=2;
             }while(k<=Max);
             for(int m=0;m<prime.Length;m++)
                Console.Write(prime[m]+" ");
        }
    }
    

    作  者:doku
    出  处:http://www.cnblogs.com/kulong995/
    关于作者:喜欢编程,喜欢美食,专注于.NET项目开发。
    版权声明:本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接。
    声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是作者坚持原创和持续写作的最大动力!

  • 相关阅读:
    数据公钥加密和认证中的私钥公钥
    hibernate数据的三种状态
    寄存器和立即数和内存单元
    三条总线作用
    liunx安装redis和gcc
    Python遍历列表
    String.split()分割字符串方法
    Jmeter教程 录制脚本
    Jemeter压力测试
    Jmeter性能测试
  • 原文地址:https://www.cnblogs.com/kulong995/p/1693987.html
Copyright © 2011-2022 走看看