你给看段程序写的对不  
 using System.Collections;
 class PrimeNumber   
 { 
       Dictionary<int, int> _PrimeNumberDict = new Dictionary<int,int>();
        public PrimeNumber(int maxNumber)
        {
            BitArray numbers = new BitArray(maxNumber, true);
            for (int i = 2; i < maxNumber; i++) 
           {
                if (numbers[i])                {
                    for (int j = i * 2; j < maxNumber; j += i)
                    {
                        numbers[j] = false;
                    }
                }
            }
            for (int i = 1; i < maxNumber; i++)
            {
                if (numbers[i])
                {
                    _PrimeNumberDict.Add(i, i);
                }
            }
        }
        public bool IsPrimeNumber(int n)
        {
            return _PrimeNumberDict.ContainsKey(n);
        }
    }
        static void Main(string[] args)
        {
            PrimeNumber pn = new PrimeNumber(9999999);
            SortedDictionary<int, int> list = new SortedDictionary<int, int>();
            Random rand = new Random();
            do
            {
                int number = rand.Next(1000000, 9999999);
                if (!pn.IsPrimeNumber(number))
                {
                    if (!list.ContainsKey(number))
                    {
                        list.Add(number, number);
                    }
                }
            }
            while (list.Count < 100);
            foreach (int item in list.Keys)
            {
                Console.WriteLine(item);
            }
        }

解决方案 »

  1.   

    你给看段程序写的对不  
    using System.Collections; 
    class PrimeNumber  

          Dictionary <int, int> _PrimeNumberDict = new Dictionary <int,int>(); 
            public PrimeNumber(int maxNumber) 
            { 
                BitArray numbers = new BitArray(maxNumber, true); 
                for (int i = 2; i < maxNumber; i++) 
              { 
                    if (numbers[i])                { 
                        for (int j = i * 2; j < maxNumber; j += i) 
                        { 
                            numbers[j] = false; 
                        } 
                    } 
                } 
                for (int i = 1; i < maxNumber; i++) 
                { 
                    if (numbers[i]) 
                    { 
                        _PrimeNumberDict.Add(i, i); 
                    } 
                } 
            } 
            public bool IsPrimeNumber(int n) 
            { 
                return _PrimeNumberDict.ContainsKey(n); 
            } 
        } 
            static void Main(string[] args) 
            { 
                PrimeNumber pn = new PrimeNumber(9999999); 
                SortedDictionary <int, int> list = new SortedDictionary <int, int>(); 
                Random rand = new Random(); 
                do 
                { 
                    int number = rand.Next(1000000, 9999999); 
                    if (!pn.IsPrimeNumber(number)) 
                    { 
                        if (!list.ContainsKey(number)) 
                        { 
                            list.Add(number, number); 
                        } 
                    } 
                } 
                while (list.Count < 100); 
                foreach (int item in list.Keys) 
                { 
                    Console.WriteLine(item); 
                } 
            }
      

  2.   

    public int[] GetRandomArray(int Number,int minNum,int maxNum)
      {
       int j;
       int[] b=new int[Number];
       Random r=new Random();
       for(j=0;j<Number;j++)
       {
        int i=r.Next(minNum,maxNum+1);
        int num=0;
        for(int k=0;k<j;k++)
        {
         if(b[k]==i)
         {
          num=num+1;
         }
        }
        if(num==0 )
        {
         b[j]=i;
        }
        else
        {
         j=j-1;
        }
       }
       return b;
      } 
      

  3.   

    int a=new random(system.guid.newguid().gethashcode()).next(1000000,9999999)