J 从文件中读入大量的扩展整数
J read in a large number from file as extended integer
在最近的 google codejam 比赛中,我需要(从文本文件)将一个大整数读入 J。我试过
in =: ".&.><;._2 (1!:1) < 'filename.in'
然而 ".
将一些大整数转换为浮点数。
datatype ". '123456789'
integer
datatype ". '12345678901234567890'
floating
我不确定 "floating" 是否会丢失有效数字。 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
我发现唯一可行的方法是在读取文件后立即追加 'x',如鲍勃所说:
<@('x'&(,~));._2 (1!:1) < filename
在最近的 google codejam 比赛中,我需要(从文本文件)将一个大整数读入 J。我试过
in =: ".&.><;._2 (1!:1) < 'filename.in'
然而 ".
将一些大整数转换为浮点数。
datatype ". '123456789'
integer
datatype ". '12345678901234567890'
floating
我不确定 "floating" 是否会丢失有效数字。 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
我发现唯一可行的方法是在读取文件后立即追加 'x',如鲍勃所说:
<@('x'&(,~));._2 (1!:1) < filename