寻找PI的扩展

时间:2012-09-01 06:29:02

标签: java php javascript c++ .net

在一次采访中,我被要求在PI的扩展中找到前9位数的回文。我不知道应该怎么做。在整个访谈期间,问题仍然存在于我的系统中,我无法正确回答要遵循的问题。

什么是最佳方式?

编辑:

寻找回文并不难,但我如何能够尽可能多地扩展PI。我已经尝试过Math.PI,我已经尝试过22/7,但没有任何东西可以提供我需要的东西。

3 个答案:

答案 0 :(得分:2)

这里的“最佳”方式在很大程度上取决于计算Pi的算法的选择,假设您无法访问现成的任意数量的数字。

有许多无限和与pi相聚,每个都能够最终生成正确的数字,但是你必须使用一些允许无限精确浮点数或无限大整数的库。

之后,找到回文相对容易,因为您只需要比较第一个到第九个数字,第二个到第八个等等。

在这种情况下,魔鬼显然是收敛和用于近似Pi的。 其中一些列在维基百科页面上的Pi:http://en.wikipedia.org/wiki/Pi#Polygon_approximation_era

答案 1 :(得分:1)

首先,我会在pi中创建一个数字的子集并转换为字符串。

我会从中获取一个九个字符的子集字符串,然后将第一个字符与最后一个字符进行比较。如果匹配,则将字符2与8进行比较,依此类推。如果任何比较失败,则将9个字符串移动到下一个集合 - 按一个字符。

答案 2 :(得分:0)

我可能会指定将first index值分配给first variable并将ninth index值分配给second variable,然后查看它们是否相等。如果它们相等,我会将second index值分配给first variable并将eight index值分配给second variable,直到它们在中间位置相遇。如果他们在某个地方彼此不同,请为first variable分配latest left side index与[{1}}不同的值和right side index的第二个变量值,然后重复此过程直到达到left side index + 8职位。