Minimal steps down to 1: Difference between revisions

Content added Content deleted
Line 523: Line 523:


show=: {{
show=: {{
k=.,:,:0 0 1
paths=.,:,:0 0 1 NB. operator, operand, net value
m=.,m [ n=.,n
m=.,m [ n=.,n NB. m: subtractors, n: divisors
for_ok.}.|.m steps n y do.
for_ok.|.m steps n y do. NB. ok: valid net values
last=.{:"2 k
last=.{:"2 paths
subs=. (1,.m,.0)+"2]0 0 1*"1 last+"1 0/m
subs=. (1,.m,.0)+"2]0 0 1*"1 last+"1 0/m
divs=. (2,.n,.0)+"2]0 0 1*"1 last*"1 0/n
divs=. (2,.n,.0)+"2]0 0 1*"1 last*"1 0/n
next=. subs,"2 divs
next=. subs,"2 divs
k=. (,({:"1 next)e.ok)#,/k,"2 1/"2 next
paths=. (,({:"1 next)e.ok)#,/paths,"2 1/"2 next
end.
end.
;@((<":y),_2 }. ,)"2((' -/'{~{.);":@{:)"1 }:"1 |."2 k
;@((<":y),_2 }. ,)"2((' -/'{~{.);":@{:)"1 }:"1 |."2 paths
}}
}}
</lang>
</lang>