在我开始询问之前,我会告诉我做了什么.有一个问题,问题3,你可以去那个链接,看看它需要什么.为了解决它,我刚写了一个函数来查找该数字是否为素数.简单.
但是,问题10要求所有素数的总和低于200万(2000000),我通过简单地检查所有数字直到2m解决这个问题并查看它的素数然后将其添加到某个变量.(如果它的素数)
但是,这样做需要花费很多时间.而且这么多时间我的意思是小时.很多小时.所以我不认为我的答案是正确的:)
我在问这里之前用Google搜索了问题,但我没有找到c#.我能找到的最接近的是java和fortran,我似乎无法实现算法.
我在这里,问这个.你怎么能这样做?检查每个数字直到2米并注意它是否它的素数不是快速的方式.(这个问题应该在1分钟内计算(问题我的意思是,不是你lol)afaik)
谢谢.
你可以(应该)使用筛子,而不是单独检查每个数字的素数.
也许你甚至可以算出筛子立即移除的所有数字的总和......
隐藏在下面的直截了当的解决方案:
一个稍微快一点的版本(感谢@ Vimvq1987):
我相信一个相关的.NET 4.0错误:https://connect.microsoft.com/VisualStudio/feedback/details/674232/jit-optimizer-error-when-loop-controlling-variable-approaches-int-maxvalue
| 归档时间: |
|
| 查看次数: |
813 次 |
| 最近记录: |