要解决这道问题首先要了解什么是素数? 就是除了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;
}
}
}
}