我如何确定一个正整数是否为素数?

How do i find if a positive integer is prime or not?

我对 C# 语言还很陌生,我一直在研究这个程序来找出一个正整数是否为素数。我做错了什么,我该怎么做。提前谢谢你

 static void Main(string[] args) 
{ 
    if (FindPrime(47)) 
    { 
        Console.WriteLine("Prime"); 
    } 
    else 
    { 
        Console.WriteLine("Not Prime"); 
    } 
    Console.readLine(); 
}   
internal static bool FindPrime(int number) 
{ 
    if (number == 1) return false; 
    if (number == 2) return true; 
    if (number % 2 != 0) return false; 
     Var SquareRoot = (int)Math.Floor(Math.Sqrt(number)); 
     for (int i = 3; i <= squareRoot; i += 2) 
    { 
        if (number % i == 0) return false; 
    } 
     return true; 
}

有一本维基百科解释了素数的性质。看看吧。

我在 python 做过同样的项目,我在那里所做的是将已知素数保存在一个变量中,并根据所有已知素数检查当前数。

ei.

a) prime_number = [2]
3 % 2 != 0 => Add to prime_number

b) prime_number = [2, 3]
4 % 2 == 0 => Not a prime number, go to next number

c) prime_number = [2, 3]
5 % 2 != 0 => Test against other prime numbers
5 % 3 != 0 => Add to prime number

d) prime_number = [2, 3, 5]
6 % 2 == 0 => Not a prime number, go to next number

所以 prime_number 变量的大小增加了。