首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

计算C#素数的最快方法?

计算C#素数的最快方法是使用一种叫做“埃拉托斯特尼筛法”的算法。这个方法可以快速找到一定范围内的所有素数。以下是一个简单的C#实现:

代码语言:csharp
复制
using System;
using System.Collections.Generic;

class PrimeNumbers
{
    static void Main()
    {
        int limit = 100;
        List<int> primes = FindPrimes(limit);
        Console.WriteLine("素数列表:");
        foreach (int prime in primes)
        {
            Console.Write(prime + " ");
        }
    }

    static List<int> FindPrimes(int limit)
    {
        bool[] isPrime = new bool[limit + 1];
        for (int i = 2; i <= limit; i++)
        {
            isPrime[i] = true;
        }

        for (int i = 2; i * i <= limit; i++)
        {
            if (isPrime[i])
            {
                for (int j = i * i; j <= limit; j += i)
                {
                    isPrime[j] = false;
                }
            }
        }

        List<int> primes = new List<int>();
        for (int i = 2; i <= limit; i++)
        {
            if (isPrime[i])
            {
                primes.Add(i);
            }
        }

        return primes;
    }
}

这个程序使用埃拉托斯特尼筛法找到1到100之间的所有素数,并将它们打印到控制台上。你可以通过修改limit变量来找到任意范围内的素数。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券