|
|
1
8
Tomas Petricek's function 速度相当快,但我们可以让它快一点。 比较以下各项:
更快
因为我们不需要过滤
我们从1.530秒降到了01.364秒,所以速度提高了约1.21倍。令人惊叹的! |
|
|
2
7
只是为了好玩,让我们看看 this page . pi(x)是素数计数函数,它返回x以下的素数。您可以使用以下不等式近似pi(x):
有鉴于此,
here is a very fast generator
计算前n个素数,其中每个元素在索引处
酷!那么它有多快?在我的3.2ghz四核上,我在fsi中获得以下功能:
因此,在不到半秒钟的时间内,所有的素数都在200万左右:) |
|
|
3
4
编辑:下面的更新版本,使用更少的内存,速度更快
上面的代码可以进一步优化:因为它只使用筛中的奇数索引,所以通过将奇数n索引为2m+1,可以将位数组的大小减少一半。新版本的速度也更快:
定时(intel core duo 2.33GHz):
|
|
|
4
3
但是,如果您想编写一个简单的功能解决方案,您可以编写以下内容:
这只是测试一个数字是否是100万的所有数字的素数。它不使用任何复杂的算法(事实上,有趣的是,最简单的解决方案往往足够好!)。在我的机器上,您的更新版本运行约11秒,这运行约2秒。
这个
|
|
|
5
2
|
|
|
Thomas · 使类型别名在F中不可互换# 4 年前 |
|
sdgfsdh · 我该怎么说。使用异步转换函数进行收集? 8 年前 |
|
|
Soldalma · 我可以实例化包含顶级副作用值的类吗? 8 年前 |
|
|
matekus · F#-包含数字的字符串的自然排序 8 年前 |
|
|
matekus · F#类型匹配-无法创建映射或匹配记录 8 年前 |
|
|
Rob Lyndon · 未找到F#ProvidedTypes文件 8 年前 |
|
|
red-swan · 如何将intro ML.Net演示翻译为F#? 8 年前 |
|
|
jkone27 · F#-在编译时从字符串生成简单的空类型 8 年前 |