RosettaCodeData/Task/Amb/J/amb-1.j

14 lines
357 B
Text
Raw Permalink Normal View History

2023-07-01 11:58:00 -04:00
ambsel=: <^:99@,
ambassert=: {{
anames=. (#~ 99<:{{L.do y}}@>) (#~ 0=nc)/:~~.;:m
limit=. */alimits=. #@> avalues=. {{>^:98 do y}}every anames
j=. 0 while. do.
(anames)=. test=. (alimits#:j) {each avalues
try. do m
anames {{(x)=:y}}&> test break.
catch. end.
if. limit<:j=.j+1 do. assert.'no valid solution' end.
end. EMPTY
}}