除以以0为模的素数

本文关键字: | 更新日期: 2023-09-27 18:03:07

假设我有一个数字3294830924。

我想把它除以质数,2、3、5、7、11等等

我想知道哪些运算可以取0模

类似:

int[] primeNumbers = ...;
var n = 3294830924;
return primeNumbers.Where(pn=> pn < n).Where(pn=> n % pn == 0)

是否有任何内置的函数或方法来获取c#中的素数列表或以数学方式计算此列表的方法?

除以以0为模的素数

您可以创建一个自定义函数来检查素数,

private bool IsPrime(int number)
{
if (number < 2) return false;
if (number == 2) return true;
if (number % 2 == 0) return false;
for (int i = 3; i * i <= number; i += 2)
if (number % i == 0) return false;
return true;
}

然后计算质数

var primes =
from number in Enumerable.Range(1, your_number)
where IsPrime(number)
select number;

您可以下载,生成或连接到包含素数列表的数据库,并在每次需要进行操作时使用该列表。

举个例子:

https://primes.utm.edu/lists/small/10000.txt

和前5000万素数:

https://primes.utm.edu/lists/small/millions/

如果这些数字在关系数据库(如SQL Server Express)中的表中,那么您可以使用linq更有效地检查该数字是否为素数,因为您可以为素数创建聚集索引。

相关文章:
  • 没有找到相关文章