小编Unk*_*own的帖子

什么是找到数字最大素数的最佳方法?

我是编程的新手,我的一个朋友建议我应该对Euler项目进行练习以使其更好.我在问题3上遇到了问题:

"13195的主要因素是5,7,13和29. 600851475143中最大的主要因素是什么?"

现在这是我的解决方案:

class Program
{
    static void Main(string[] args)
    {
        long number = 600851475143;
        bool prime = true;

        for (long i = 3; i <= number; i++)
        {
            for (long n = 2; n < i; n++)
            {

                if (i % n == 0)
                {
                    prime = false;
                    break;
                }
            }

            if (prime)
            {
                if (number % i == 0)
                {
                    Console.WriteLine(i);

                }

            }
            prime = true;

        }
        Console.ReadKey();
    }
}
Run Code Online (Sandbox Code Playgroud)

现在,虽然我确实得到了正确的答案(这是6857),但我发现我的方法非常低效.如果您将运行我的代码,您将看到它仍将在超过2分钟之后运行...我的问题是如何为此编写更高效/更快的代码?

c# primes prime-factoring factors factorization

4
推荐指数
1
解决办法
2107
查看次数

标签 统计

c# ×1

factorization ×1

factors ×1

prime-factoring ×1

primes ×1