Skip to main content
added 41 characters in body
Source Link
ngn
  • 15.3k
  • 2
  • 43
  • 87

K (ngn/k)K (ngn/k), 5050 49 bytes

thanks @DLosc for reminding me I should output spaces between the columns

thanks @coltim for -1 byte

1@"\n"/("# "1_'"1_,/'11,''+'+/''a*')'a*/:\:a:+2!!1_(. 0:"")#3;

Try it online!Try it online!

K (ngn/k), 50 bytes

thanks @DLosc for reminding me I should output spaces between the columns

1@"\n"/"# "1_',/'1,''+/''a*/:\:a:+2!!1_(. 0:"")#3;

Try it online!

K (ngn/k), 50 49 bytes

thanks @DLosc for reminding me I should output spaces between the columns

thanks @coltim for -1 byte

1@"\n"/("# "1_,/1,'+/')'a*/:\:a:+2!!1_(. 0:"")#3;

Try it online!

deleted 1281 characters in body
Source Link
ngn
  • 15.3k
  • 2
  • 43
  • 87

K (ngn/k), 2650 bytes

{"# "@+/''a*/:\:a:+2!!x#3}

Try it online! thanks @DLosc for reminding me I should output spaces between the columns

 x:2 / for testing
 x#3 / that many 3s
3 3
 !x#3 / all x-tuples of 0 1 2 as a transposed matrix
(0 0 0 1 1 1 2 2 2
 0 1 2 0 1 2 0 1 2)
 2!!x#3 / mod 2
(0 0 0 1 1 1 0 0 0
 0 1 0 0 1 0 0 1 0)
 +2!!x#3 / transpose
(0 0
 0 1
 0 0
 1 0
 1 1
 1 0
 0 0
 0 1
 0 0)
 a*1@"\n"/:\:a:+2!!2#3"# "1_',/ multiplication table (outer product)
((0 0;0 0;0 0;0 0;0 0;0 0;0 0;0 0;0 0)
 (0 0;0 1;0 0;0 0;0 1;0 0;0 0;0 1;0 0)
 (0 0;0 0;0 0;0 0;0 0;0 0;0 0;0 0;0 0)
 (0 0;0 0;0 0;1 0;1 0;1 0;0 0;0 0;0 0)
 (0 0;0 1;0 0;1 0;1 1;1 0;0 0;0 1;0 0)
 (0 0;0 0;0 0;1 0;1 0;1 0;0 0;0 0;0 0)
 (0 0;0 0;0 0;0 0;0 0;0 0;0 0;0 0;0 0)
 (0 0;0 1;0 0;0 0;0 1;0 0;0 0;0 1;0 0)
 (0 0;0 0;0 0;0 0;0 0;0 0;0 0;0 0;0 0))
 +'1,''+/''a*/:\:a:+2!!2#3 / sum each each
1_(0 0 0 0 0 0 0 0 0
 0 1 0 0 1 0 0 1 0
 0 0 0 0 0 0 0 0 0
 0 0 0 1 1 1 0 0 0
 0 1 0 1 2 1 0 1 0
 0 0 0 1 1 1 0 0 0
 0 0 0 0 0 0 0 0 0
 0 1 0 0 1 0 0 1 0
 0 0 0 0 0 0 0 0. 0)
 "# "@+/''a*/:\:a:+2!!2#3 / index into "# " (out-of-bounds indexing returns " ")
("#########"
 "# ## ## #"
 "#########"
 "###   ###"
 "# #   # #"
 "###   ###"
 "#########"
 "# ## ## #"
 "#########""")#3;

Try it online!

K (ngn/k), 26 bytes

{"# "@+/''a*/:\:a:+2!!x#3}

Try it online!

 x:2 / for testing
 x#3 / that many 3s
3 3
 !x#3 / all x-tuples of 0 1 2 as a transposed matrix
(0 0 0 1 1 1 2 2 2
 0 1 2 0 1 2 0 1 2)
 2!!x#3 / mod 2
(0 0 0 1 1 1 0 0 0
 0 1 0 0 1 0 0 1 0)
 +2!!x#3 / transpose
(0 0
 0 1
 0 0
 1 0
 1 1
 1 0
 0 0
 0 1
 0 0)
 a*/:\:a:+2!!2#3 / multiplication table (outer product)
((0 0;0 0;0 0;0 0;0 0;0 0;0 0;0 0;0 0)
 (0 0;0 1;0 0;0 0;0 1;0 0;0 0;0 1;0 0)
 (0 0;0 0;0 0;0 0;0 0;0 0;0 0;0 0;0 0)
 (0 0;0 0;0 0;1 0;1 0;1 0;0 0;0 0;0 0)
 (0 0;0 1;0 0;1 0;1 1;1 0;0 0;0 1;0 0)
 (0 0;0 0;0 0;1 0;1 0;1 0;0 0;0 0;0 0)
 (0 0;0 0;0 0;0 0;0 0;0 0;0 0;0 0;0 0)
 (0 0;0 1;0 0;0 0;0 1;0 0;0 0;0 1;0 0)
 (0 0;0 0;0 0;0 0;0 0;0 0;0 0;0 0;0 0))
 +/''a*/:\:a:+2!!2#3 / sum each each
(0 0 0 0 0 0 0 0 0
 0 1 0 0 1 0 0 1 0
 0 0 0 0 0 0 0 0 0
 0 0 0 1 1 1 0 0 0
 0 1 0 1 2 1 0 1 0
 0 0 0 1 1 1 0 0 0
 0 0 0 0 0 0 0 0 0
 0 1 0 0 1 0 0 1 0
 0 0 0 0 0 0 0 0 0)
 "# "@+/''a*/:\:a:+2!!2#3 / index into "# " (out-of-bounds indexing returns " ")
("#########"
 "# ## ## #"
 "#########"
 "###   ###"
 "# #   # #"
 "###   ###"
 "#########"
 "# ## ## #"
 "#########")

K (ngn/k), 50 bytes

thanks @DLosc for reminding me I should output spaces between the columns

1@"\n"/"# "1_',/'1,''+/''a*/:\:a:+2!!1_(. 0:"")#3;

Try it online!

Source Link
ngn
  • 15.3k
  • 2
  • 43
  • 87

K (ngn/k), 26 bytes

{"# "@+/''a*/:\:a:+2!!x#3}

Try it online!

 x:2 / for testing
 x#3 / that many 3s
3 3
 !x#3 / all x-tuples of 0 1 2 as a transposed matrix
(0 0 0 1 1 1 2 2 2
 0 1 2 0 1 2 0 1 2)
 2!!x#3 / mod 2
(0 0 0 1 1 1 0 0 0
 0 1 0 0 1 0 0 1 0)
 +2!!x#3 / transpose
(0 0
 0 1
 0 0
 1 0
 1 1
 1 0
 0 0
 0 1
 0 0)
 a*/:\:a:+2!!2#3 / multiplication table (outer product)
((0 0;0 0;0 0;0 0;0 0;0 0;0 0;0 0;0 0)
 (0 0;0 1;0 0;0 0;0 1;0 0;0 0;0 1;0 0)
 (0 0;0 0;0 0;0 0;0 0;0 0;0 0;0 0;0 0)
 (0 0;0 0;0 0;1 0;1 0;1 0;0 0;0 0;0 0)
 (0 0;0 1;0 0;1 0;1 1;1 0;0 0;0 1;0 0)
 (0 0;0 0;0 0;1 0;1 0;1 0;0 0;0 0;0 0)
 (0 0;0 0;0 0;0 0;0 0;0 0;0 0;0 0;0 0)
 (0 0;0 1;0 0;0 0;0 1;0 0;0 0;0 1;0 0)
 (0 0;0 0;0 0;0 0;0 0;0 0;0 0;0 0;0 0))
 +/''a*/:\:a:+2!!2#3 / sum each each
(0 0 0 0 0 0 0 0 0
 0 1 0 0 1 0 0 1 0
 0 0 0 0 0 0 0 0 0
 0 0 0 1 1 1 0 0 0
 0 1 0 1 2 1 0 1 0
 0 0 0 1 1 1 0 0 0
 0 0 0 0 0 0 0 0 0
 0 1 0 0 1 0 0 1 0
 0 0 0 0 0 0 0 0 0)
 "# "@+/''a*/:\:a:+2!!2#3 / index into "# " (out-of-bounds indexing returns " ")
("#########"
 "# ## ## #"
 "#########"
 "###   ###"
 "# #   # #"
 "###   ###"
 "#########"
 "# ## ## #"
 "#########")