相关疑难解决方法(0)

可能在我的代码中优化?

为了解决欧拉项目问题5,我编写了以下程序:

class p5
{
    const int maxNumber = 20;
    static void Main(string[] args)
    {
        Job(); // First warm-up call to avoid Jit latency

        var sw = Stopwatch.StartNew();
        var result = Job();
        sw.Stop();

        Debug.Assert(result == 232792560);
        Console.WriteLine(result);
        Console.WriteLine(sw.Elapsed);
        Console.ReadLine();
    }

    private static int Job()
    {
        var result = Enumerable.Range(1, int.MaxValue - 1)
            .Where(
                n => Enumerable.Range(maxNumber / 2 + 1, maxNumber / 2).All(c => n % c == 0)
            ).First();
        return result;
    }
}
Run Code Online (Sandbox Code Playgroud)

但是,我发现它有点长(17秒,处于释放模式),即使它正在工作.

有没有可能的优化?

仅供参考,我尝试了AsParallel方法,但正如预期的那样,大量的工作太小而且上下文切换比利益更重(超过1分钟): …

c# math

2
推荐指数
1
解决办法
298
查看次数

标签 统计

c# ×1

math ×1