RosettaCodeData/Task/General-FizzBuzz/Maple/general-fizzbuzz.maple

33 lines
649 B
Plaintext

findNum := proc(str) #help parse input
local i;
i := 1:
while (true) do
if (StringTools:-IsAlpha(str[i])) then
return i-2:
end if:
i := i+1:
end do:
end proc:
path := "input.txt";
input := readline(path):
T := table():
maxnum := parse(input):
while (true) do
input := readline(path):
if input = 0 then break; end if:
pos := findNum(input):
num := parse(input[..pos]):
T[num] := input[pos+2..]:
end do:
for i from 1 to maxnum do
factored := false:
for j in [indices(T)] do
if i mod j[1] = 0 then
factored := true:
printf(T[j[1]]);
end if:
end do:
if (not factored) then printf("%d", i): end if:
printf("\n");
end do: