I am not sure that if there's a better approach, though obviously we
could rephrase your approach slightly.
For example:
nextrow=: [ ~: 3 ~:/\ 0,],0:
grow=: , _2&{ nextrow {:
paritypattern=: 1 }. [ grow@:]^:([-1:) 0 ,: ]
I hope this helps...
--
Raul
On Tue, Oct 31, 2017 at 5:05 PM, Ivan S <[email protected]> wrote:
> https://oeis.org/A118141
>
> "A parity pattern is a matrix of 0's and 1's with the property that every 0
> is adjacent to an even number of 1's and every 1 is adjacent to an odd number
> of 1's."
>
> As a J exercise, I've defined a verb that creates a parity pattern when given
> its height and the first row.
>
> tripsums=: 3: +/\ (0&, @: ,&0)
> nextrow=: 2: | (+ tripsums)
> grow=: , _2&{ nextrow {:
> addzeros=: ,:~ ~:~
> paritypattern=: ([: }. grow@:]^:(<: @: [)) addzeros
> 4 paritypattern 0 0 1 1
> 0 0 1 1
> 0 1 0 0
> 1 1 0 1
> 0 1 0 1
>
> I would love to see other approaches to this problem.
>
> - Ivan
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm