|
|
1
11
据我所知,你的代码实际上是懒惰的(也就是说它并不急于得到答案…;-)--但它会产生一堆又一堆的垃圾。想想看
有了以上这些,
|
|
|
2
4
我在Clojure1.1上得到了相同的OutOfMemoryError,但在1.2上没有。
我想这是1.1版本的一个bug
|
|
|
3
3
虽然我承认这是公认的暴力行为,但我还是不寒而栗。对于最多运行50的连续数字集,lcm为309044504245996706400。你真的想要一个循环来测试到那个点的每个数字来识别集合的lcm吗? 其他的计划似乎要好得多。例如,对序列的每个成员进行因子运算,然后简单地计算每个素因子的最大出现次数。或者,构建一个简单的素数筛,它可以同时对一组数字进行因子运算,同时允许您计算因子的多重性。
|
|
|
4
0
迈克尔对这个问题的看法是正确的。筛子会快一点,因为不需要gcd计算: :这个代码实际上是非常错误的。我把它放在这里是为了提醒自己,如果我宿醉了,就要检查我的工作两次。
|