要解决这道问题首先要了解什么是素数?

就是除了1和它自己本身以外没有可以整除的数


比如3,只能除以1或除以3,才能是整数(正数范围内)

using System;

namespace Other_Features

{

        public class Prime

        {

                public int number;

                public Prime(int n)

                {

                        if(isPrime(n))

                                this.number=n;

                        else

                                throw new Exception (n+" is not a prime.");//抛出异常

                }

                public static Prime operator ++ (Prime orig)//运算符重写

                {

                        bool succeeded =false;

                        while(!succeeded)//循环

                                                                succeeded=isPrime(++orig.number );

                        return orig;

                }

                public static bool isPrime(int number)

                {

                        int max=(int)(number/2+1);

                        for(int i=2;i<max;++i)

                                if(number%i==0)

                                        return false;

                        return true;

                }

                public static void Main()

                {

                        Prime p=new Prime (1);

                        for(int i=0;i<100;++i)

                        {

                                Console.WriteLine (p.number);

                                ++p;

                        }

                }

        }

}