法雷序列长度

时间:2019-02-04 09:47:58

标签: python

已经问了许多有关找到Farey序列的$ n ^ {th} $元素的最佳算法的问题。但是,我只对给定n的序列长度感兴趣。我目前正在使用此算法(从here稍作修改):

final Triangle triangle3 = new Triangle(
        new Point3(0, 0, 0),
        new Point3(-10, 0, 0), <-- swap this line..
        new Point3(0, -10, 0), <-- with this line..
        Color.BLUE
);

运行n> = 100000仍需要40秒钟左右。有优化的方法吗?

1 个答案:

答案 0 :(得分:1)

您以相同的值一次又一次地调用Error函数。您需要对该递归函数使用动态编程概念,以使您不会多次计算相同的值。您可以尝试:

postRequest

如果预先计算出一个值,那么我们将不再进行计算。

我的解决方案将花费大约1秒钟来计算farey的结果。