首页
学习
活动
专区
工具
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变量来找到任意范围内的素数。

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

相关·内容

1分24秒

动物给药前的剂量换算怎么算?动物实验溶解计算器使用方法

3分23秒

2.12.使用分段筛的最长素数子数组

7分18秒

1.6.线性打表求逆元

5分36秒

2.19.卢卡斯素性测试lucas primality test

6分41秒

2.8.素性检验之车轮分解wheel factorization

1分21秒

2.9.素性检验之按位筛bitwise sieve

5分10秒

2.18.索洛瓦-施特拉森素性测试Solovay-Strassen primality test

5分18秒

2.13.费马素性检验fermat primality test

8分59秒

1.5.用扩展欧几里得算法求乘法逆元

6分1秒

2.15.勒让德符号legendre

-

跨学科研究——计算传播学:利用大数据解读人类传播行为

1分4秒

人工智能之基于深度强化学习算法玩转斗地主,大你。

领券