RosettaCodeData/Task/General-FizzBuzz/Picat/general-fizzbuzz.picat
2023-07-01 13:44:08 -04:00

22 lines
482 B
Text

interactive =>
print("> "),
MaxNum = read_int(),
Map = new_map(),
print("> "),
while (Line = read_line(), Line != "")
[N,V] = split(Line),
Map.put(N.to_int,V),
print("> ")
end,
general_fizzbuzz(MaxNum,Map.to_list.sort),
nl.
general_fizzbuzz(N,L) =>
FB = [I.to_string : I in 1..N],
foreach(I in 1..N)
Vs = [V : K=V in L, I mod K == 0].join(''),
if Vs != "" then
FB[I] := Vs
end
end,
println([F : F in FB].join(" ")).