C#判断素数的算法

素数是只能被1或本身整除,且不能为其他两个整数的乘积。1、2、3本身就是素数,判断一个数是否为素数,只需要用这个值依次除以2到它的开方数,如果其中有一个数可以整除,那么该值不为素数,返之为素数。代码如下:

using System;
using System.Collections.Generic;
using System.Text;
namespace ExPrimeNumber
{
class PrimeNumber
{
public bool primeNumber(int n)
{
bool b = true;
if (n == 1 || n == 2)
b = true;
else
{
int sqr = Convert.ToInt32(Math.Sqrt(n));
for (int i = sqr; i > 2; i--)
{
if (n % i == 0)
{
b = false;
}
}
}
return b;
}
static void Main(string[] args)
{
Console.Write("请输入一个数:");
int n = Convert.ToInt32(Console.ReadLine ());
PrimeNumber p=new PrimeNumber ();
bool b=p.primeNumber(n);
if (b)
Console.WriteLine("{0}是素数",n);
else
Console.WriteLine("{0}不是素数",n);
}
}
}