结果数字的精度

Precision of a resulting number

8th problem of Project Euler
这是解决方案:

>./13*/\"."0 s

其中:

s =: '731671765313306249192251196744265747423.......00823257530420752963450' 

也就是说这个长数字是字符串形式的。

这个解决方案效果很好,但它给出了结果:

2.35146e10

这是正确的,但我想得到完整的数字:

2351462400

我已经知道在 J 中为此目的使用了字母 'x'。 但是在这种场合如何应用呢?

您可以使用扩展精度动词 x:,但您可能还想在 13 之后放置一个 x 以确保您不会在部分乘积中丢失精度。

x: >./13x*/\"."0 s

有关扩展精度动词的信息可在此处找到:http://www.jsoftware.com/help/dictionary/dxco.htm