Minimal steps down to 1: Difference between revisions
Content added Content deleted
m (→{{header|J}}) |
m (→{{header|J}}) |
||
Line 523: | Line 523: | ||
show=: {{ |
show=: {{ |
||
paths=.,:,:0 0 1 NB. operator, operand, net value |
|||
m=.,m [ n=.,n |
m=.,m [ n=.,n NB. m: subtractors, n: divisors |
||
for_ok |
for_ok.|.m steps n y do. NB. ok: valid net values |
||
last=.{:"2 |
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 |
||
paths=. (,({:"1 next)e.ok)#,/paths,"2 1/"2 next |
|||
end. |
end. |
||
;@((<":y),_2 }. ,)"2((' -/'{~{.);":@{:)"1 }:"1 |."2 |
;@((<":y),_2 }. ,)"2((' -/'{~{.);":@{:)"1 }:"1 |."2 paths |
||
}} |
}} |
||
</lang> |
</lang> |
||