[Jprogramming] AoC 2016 day 19

'Pascal Jasmin' via Programming programming at jsoftware.com
Mon Dec 19 20:03:04 UTC 2016


part 1 completes pretty quickly  "manually"

_2&({.\)`([: }. _2 {.\ ])@.(2 | #)^:(1 < #)^:_ i. 3014387

but, this similar approach for part 2 is crazy slow due to n "loops" rewritting an n long array

(1 |. ] -. ] {~ <. at -:@#)^:(1 < #)^:_ i.4387



a version that does 2 ^. n "loops", is fast.


f =: 3 : 0
n =. # y
if. 5 > n do. (1 |. ] ({.~ , (}.~ >:)) <. at -:@#)^:(1 < #)^:(_) y return. end.
h =. <. at -: n
'f m' =. 3 (<.@%~ , |) n - h
if. 2 | n do.
(m + 2 *  f) |. (y {.~ -m) , (y }.~ -m) ({.~ , _3 {.\ (}.~ >:)) h
else.
(m + 2 * f) |. (y {.~ -m) , (y }.~ -m) ({.~ , _3 {:\ (}.~ )) h
end.
)

f^:_ >: i.3014387

----- Original Message -----
From: David Lambert <b49p23tivg at gmail.com>
To: programming <programming at jsoftware.com>
Sent: Monday, December 19, 2016 2:06 PM
Subject: [Jprogramming] AoC 2016 day 19

Finally found a good answer.  http://oeis.org/A006257   Part 1:

white_elephant=: 1&|.&.#:

----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm 


More information about the Programming mailing list