Initial data commit
This commit is contained in:
parent
72d218235f
commit
f23f22d71c
199087 changed files with 3378941 additions and 0 deletions
32
Task/McNuggets-problem/CLU/mcnuggets-problem.clu
Normal file
32
Task/McNuggets-problem/CLU/mcnuggets-problem.clu
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
% Recursive nugget iterator.
|
||||
% This yields all the nugget numbers of the given box sizes from start to max.
|
||||
gen_nuggets = iter (start, max: int, sizes: sequence[int]) yields (int)
|
||||
si = sequence[int]
|
||||
if si$empty(sizes) then
|
||||
yield(start)
|
||||
else
|
||||
for i: int in int$from_to_by(start, max, si$bottom(sizes)) do
|
||||
for j: int in gen_nuggets(i, max, si$reml(sizes)) do
|
||||
yield(j)
|
||||
end
|
||||
end
|
||||
end
|
||||
end gen_nuggets
|
||||
|
||||
start_up = proc ()
|
||||
max = 100
|
||||
ab = array[bool]
|
||||
po: stream := stream$primary_output()
|
||||
nuggets: ab := ab$fill(0,max+1,false)
|
||||
|
||||
for nugget: int in gen_nuggets(0, max, sequence[int]$[6,9,20]) do
|
||||
nuggets[nugget] := true
|
||||
end
|
||||
|
||||
maxn: int
|
||||
for i: int in ab$indexes(nuggets) do
|
||||
if ~nuggets[i] then maxn := i end
|
||||
end
|
||||
|
||||
stream$putl(po, "Maximum non-McNuggets number: " || int$unparse(maxn))
|
||||
end start_up
|
||||
Loading…
Add table
Add a link
Reference in a new issue