打印质数

/*
 * 这就是“亚里士多德 筛子” ?
 * Created by SharpDevelop.
 * Author: student
 * Date: 2007-11-30
 * Time: 12:03
 *
 * dashan2046@qq.com
 */

using  System;
using  System.Collections;

class Prime
{
 private ArrayList PrimeList = new ArrayList();
 private int EndNum;
 public Prime(int EndNum)
 {
  this.EndNum = EndNum;
  for(int i = 0; i < EndNum; i++)
  {
   PrimeList.Add(i);
  }
  
  for(int j = 2; j < EndNum; j++)
  {
   for(int k = j+1; k < EndNum; k++)
   {
    if((int)PrimeList[k] != 0 && ((int)PrimeList[k])%j == 0)
     PrimeList[k] = 0;
   }
  }
 }
 public void PrintPrime()
 {
  int l = 0;
  for(int i = 0; i < PrimeList.Count; i++)
  {
   if((int)PrimeList[i] != 0)
   {
    Console.Write("{0,-10}",PrimeList[i]);
    l++;
    if(l%10 == 0)
     Console.WriteLine();
   }
  }
 }
}
class  printPrime
{
 static void Main()
 {
  Prime p = new Prime(10000);
  p.PrintPrime();
 }
}

posted @ 2008-04-03 11:26  zhengguoqing  阅读(225)  评论(0)    收藏  举报