Railway circuit: Difference between revisions

→‎{{header|J}}: second draft
(J initial draft)
(→‎{{header|J}}: second draft)
Line 414:
 
=={{header|J}}==
Minimal implementation (no extra credit)Implementation:<lang J>NB. is circuit valid?
vrwc=: {{ */1=({:,1++/)*/\^j.1r6p1*y }}"1
 
NB. canonical form for circuit:
crwc=: {{ {.\:~,/(i.#y)|."0 1/(,|.)y,:-y }}"1</lang>
 
NB. generate somewhat limited set of possibilities
Task examples:<lang J> ~.crwc _1^#:I.vrwc _1^#:i.2^12
gen=: {{ _1^(-y){."1(#~ 0=2|+/"1) #:i.2^y-3 }}
1 1 1 1 1 1 1 1 1 1 1 1
</lang>
~.crwc _1^#:I.vrwc _1^#:i.2^16
 
1 1 1 1 1 1 1 _1 1 1 1 1 1 1 1 _1
Task examples (partial extra credit):<lang J> 'SLR'{~~.crwc _1^(#:I.~ vrwc) gen _1^#:i.2^12
~.crwc _1^#:I.vrwc _1^#:i.2^20
LLLLLLLLLLLL
1 1 1 1 1 1 1 1 _1 _1 1 1 1 1 1 1 1 1 _1 _1
'SLR'{~~.crwc (#~ vrwc) gen 16
1 1 1 1 1 1 1 _1 1 1 _1 1 1 1 1 1 1 1 _1 _1
LLLLLLLRLLLLLLLR
1 1 1 1 1 1 1 _1 1 _1 1 1 1 1 1 1 1 _1 1 _1
'SLR'{~~.crwc (#~ vrwc) gen 20
1 1 1 1 1 1 _1 1 1 _1 1 1 1 1 1 1 _1 1 1 _1
LLLLLLLLRRLLLLLLLLRR
1 1 1 1 1 _1 1 1 1 _1 1 1 1 1 1 _1 1 1 1 _1
LLLLLLLRLLRLLLLLLLRR
1 1 1 1 _1 1 1 1 1 _1 1 1 1 1 _1 1 1 1 1 _1</lang>
LLLLLLLRLRLLLLLLLRLR
LLLLLLRLLRLLLLLLRLLR
LLLLLRLLLRLLLLLRLLLR
LLLLRLLLLRLLLLRLLLLR
#'SLR'{~~.crwc (#~ vrwc) gen 24
40
#'SLR'{~~.crwc (#~ vrwc) gen 28
293</lang>
 
=={{header|Java}}==
6,951

edits