J 中给定长度的所有布尔可能性
All boolean possibilities of given length in J
我想要最简单的动词,它给出了给定长度的所有布尔列表的列表。
例如
f=. NB. Insert magic here
f 2
0 0
0 1
1 0
1 1
f 3
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1
#:
("Antibase 2") 词汇页面有一个接近我想要的示例。我真的不明白那个原语,但下面的代码给出了数字 0 到 2^n-1 的基数 2 数字的列表:
f=. #:@i.@(2^])
(感谢 Dan 让我查找 #:
。)
此功能最近已添加到 stats/base
插件中。
load 'stats/base/combinatorial' NB. or just load 'stats'
permrep 2 NB. permutations of size 2 from 2 items with replacement
0 0
0 1
1 0
1 1
3 permrep 2 NB. permutations of size 3 from 2 items with replacement
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1
permrep NB. display definition of permrep
$:~ :(# #: i.@^~)
使用 Qt IDE 您可以通过在术语 window 中输入 open 'stats/base/combinatorial'
查看定义 permrep
和朋友的脚本。或者你可以 view it on Github.
要按照您的问题中指定的方式定义 f
,以下内容就足够了:
f=: permrep&2
f=: (# #: i.@^~)&2 NB. alternatively
f 3
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1
我想要最简单的动词,它给出了给定长度的所有布尔列表的列表。
例如
f=. NB. Insert magic here
f 2
0 0
0 1
1 0
1 1
f 3
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1
#:
("Antibase 2") 词汇页面有一个接近我想要的示例。我真的不明白那个原语,但下面的代码给出了数字 0 到 2^n-1 的基数 2 数字的列表:
f=. #:@i.@(2^])
(感谢 Dan 让我查找 #:
。)
此功能最近已添加到 stats/base
插件中。
load 'stats/base/combinatorial' NB. or just load 'stats'
permrep 2 NB. permutations of size 2 from 2 items with replacement
0 0
0 1
1 0
1 1
3 permrep 2 NB. permutations of size 3 from 2 items with replacement
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1
permrep NB. display definition of permrep
$:~ :(# #: i.@^~)
使用 Qt IDE 您可以通过在术语 window 中输入 open 'stats/base/combinatorial'
查看定义 permrep
和朋友的脚本。或者你可以 view it on Github.
要按照您的问题中指定的方式定义 f
,以下内容就足够了:
f=: permrep&2
f=: (# #: i.@^~)&2 NB. alternatively
f 3
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1