General FizzBuzz: Difference between revisions
Content added Content deleted
Drkameleon (talk | contribs) (Added Arturo implementation) |
|||
Line 2,795: | Line 2,795: | ||
Buzz |
Buzz |
||
</pre> |
</pre> |
||
=={{header|Picat}}== |
|||
<lang Picat>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(" ")).</lang> |
|||
Testing: |
|||
<pre>$ echo "106\n3 Fizz\n5 Buzz\n7 Bazz\n" | picat -g interactive general_fizzbuzz.pi</pre> |
|||
Here's an interactive session: |
|||
{{out}} |
|||
<pre>> 106 |
|||
> 3 Fizz |
|||
> 5 Buzz |
|||
> 7 Baxx |
|||
> |
|||
1 |
|||
2 |
|||
Fizz |
|||
4 |
|||
Buzz |
|||
Fizz |
|||
Bazz |
|||
8 |
|||
Fizz |
|||
Buzz |
|||
11 |
|||
Fizz |
|||
13 |
|||
Bazz |
|||
FizzBuzz |
|||
16 |
|||
17 |
|||
Fizz |
|||
19 |
|||
Buzz |
|||
FizzBazz |
|||
22 |
|||
... |
|||
Bazz |
|||
Fizz |
|||
Buzz |
|||
101 |
|||
Fizz |
|||
103 |
|||
104 |
|||
FizzBuzzBazz |
|||
106</pre> |
|||
=={{header|PicoLisp}}== |
=={{header|PicoLisp}}== |