在最近的Google Codejam竞赛中,我需要(从文本文件中)将一个大整数读入J。

in =: ".&.><;._2 (1!:1) < 'filename.in'

但是".将一些大整数转换为float。
datatype ". '123456789'
integer

datatype ". '12345678901234567890'
floating

我不确定“ float ”是否会丢失有效位数。 J中提供了扩展整数支持。如何将一串数字转换为扩展整数?

最佳答案

您可以通过在使用'x'之前将".附加到字符串中来完成此操作

      12345678901234567890x NB. usual way to create extended type
   12345678901234567890
       datatype  12345678901234567890x
    extended
       ". '12345678901234567890','x' NB. the appended x allows ". to create extended type
    12345678901234567890
       datatype ". '12345678901234567890','x'
    extended

关于j - J从文件中大量读取作为扩展整数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29590066/

10-12 17:38