2

我使用编程语言:J。

我想把一个数字的所有数字放在一个列表中。

从:

12345

至:

1 2 3 4 5

我能做些什么?

4

3 回答 3

5

我写这个的方式是

   10&#.^:_1 

我们可以在这句话中看到:

   (10&#.^:_1) 123456789 
1 2 3 4 5 6 7 8 9

该程序依赖于Base内置的重塑功能。它使用 Base 的(内置)正面作为Antibase的同义词。

于 2013-07-17T23:10:51.373 回答
1

我找到了答案:

intToList =: (".@;"0@":)
于 2013-07-16T23:54:46.417 回答
0

另一种方法:

intToList =: 3 : '((>. 10 ^. y)#10) #: y'

这不会转换为字符串并返回,这可能会很昂贵,但会使用以 10 为底的日志来计算数字,然后使用反基数 ( #:) 来获取每个数字。

编辑:

更好、更安全的版本基于 Dan Bron 的评论:

intToList =: 3 : '10 #.^:_1 y'
于 2013-07-17T15:36:28.047 回答