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项目开发。
    版权声明:本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接。
    声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是作者坚持原创和持续写作的最大动力!

  • 相关阅读:
    基于.NET平台常用的框架整理
    简单的linq语法
    Newtonsoft.Json高级用法
    C# 语言历史版本特性(C# 1.0到C# 7.1汇总更新)
    HTML URL 编码
    sql(SqlServer)编程基本语法
    正则表达式
    添加vs模板注释
    js实现无刷新表单提交文件,将ajax请求转换为form请求方法
    HTML5 手机端动态适配
  • 原文地址:https://www.cnblogs.com/kulong995/p/1693987.html
Copyright © 2011-2022 走看看