Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
10
Task/FizzBuzz/Picat/fizzbuzz-1.picat
Normal file
10
Task/FizzBuzz/Picat/fizzbuzz-1.picat
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
fizzbuzz_map =>
|
||||
println(fizzbuzz_map),
|
||||
FB = [I : I in 1..100],
|
||||
Map = [(3="Fizz"),(5="Buzz"),(15="FizzBuzz")],
|
||||
foreach(I in FB, K=V in Map)
|
||||
if I mod K == 0 then
|
||||
FB[I] := V
|
||||
end
|
||||
end,
|
||||
println(FB).
|
||||
3
Task/FizzBuzz/Picat/fizzbuzz-10.picat
Normal file
3
Task/FizzBuzz/Picat/fizzbuzz-10.picat
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
fizzbuzz_golf =>
|
||||
println(fizzbuzz_golf),
|
||||
[cond(P=="",I,P):I in 1..100,(I mod 3==0->P="Fizz";P=""),(I mod 5==0->P:=P++"Buzz";true)].println().
|
||||
33
Task/FizzBuzz/Picat/fizzbuzz-11.picat
Normal file
33
Task/FizzBuzz/Picat/fizzbuzz-11.picat
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
import planner.
|
||||
fizzbuzz_planner =>
|
||||
println(fizzbuzz_planner),
|
||||
plan(100,Plan),
|
||||
println(Plan.reverse()),
|
||||
nl.
|
||||
|
||||
final(Goal) => Goal == 0.
|
||||
|
||||
action(H,To,Move,Cost) ?=>
|
||||
H mod 15 == 0,
|
||||
Move = "FizzBuzz",
|
||||
To = H-1,
|
||||
Cost = 1.
|
||||
|
||||
action(H,To,Move,Cost) ?=>
|
||||
H mod 5 == 0,
|
||||
Move = "Buzz",
|
||||
To = H-1,
|
||||
Cost = 1.
|
||||
|
||||
action(H,To,Move,Cost) ?=>
|
||||
H mod 3 == 0,
|
||||
Move = "Fizz",
|
||||
To = H-1,
|
||||
Cost = 1.
|
||||
|
||||
action(H,To,Move,Cost) =>
|
||||
H mod 3 > 0,
|
||||
H mod 5 > 0,
|
||||
Move = H.to_string(),
|
||||
To = H-1,
|
||||
Cost = 1.
|
||||
13
Task/FizzBuzz/Picat/fizzbuzz-12.picat
Normal file
13
Task/FizzBuzz/Picat/fizzbuzz-12.picat
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
go =>
|
||||
fizzbuzz_map,
|
||||
fizzbuzz_template1,
|
||||
fizzbuzz_template2,
|
||||
fizzbuzz_planner,
|
||||
fizzbuzz_rec,
|
||||
fizzbuzz_golf,
|
||||
|
||||
FBs = [fb1,fb2,fb3,fb4],
|
||||
foreach(FB in FBs)
|
||||
call(fizzbuzz,FB)
|
||||
end,
|
||||
nl.
|
||||
10
Task/FizzBuzz/Picat/fizzbuzz-2.picat
Normal file
10
Task/FizzBuzz/Picat/fizzbuzz-2.picat
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
fizzbuzz_template1 =>
|
||||
println(fizzbuzz_template1),
|
||||
N = 100,
|
||||
F = [_,_,fizz,_,buzz,fizz,_,_,fizz,buzz,_,fizz,_,_,fizzbuzz],
|
||||
FF = [F : _I in 1..1+N div F.length].flatten(),
|
||||
foreach(I in 1..N)
|
||||
(var(FF[I]) -> print(I) ; print(FF[I])),
|
||||
print(" ")
|
||||
end,
|
||||
nl.
|
||||
13
Task/FizzBuzz/Picat/fizzbuzz-3.picat
Normal file
13
Task/FizzBuzz/Picat/fizzbuzz-3.picat
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
fizzbuzz_template2 =>
|
||||
println(fizzbuzz_template2),
|
||||
N = 100,
|
||||
F = new_list(N),
|
||||
FV = [3,5,15],
|
||||
FN = ["Fizz","Buzz","FizzBuzz"],
|
||||
foreach(I in 1..N, {Val,Name} in zip(FV,FN))
|
||||
if I mod Val == 0 then F[I] := Name end
|
||||
end,
|
||||
foreach(I in 1..N)
|
||||
printf("%w ", cond(var(F[I]),I, F[I]))
|
||||
end,
|
||||
nl.
|
||||
6
Task/FizzBuzz/Picat/fizzbuzz-4.picat
Normal file
6
Task/FizzBuzz/Picat/fizzbuzz-4.picat
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
fizzbuzz(Goal) =>
|
||||
println(Goal),
|
||||
foreach(I in 1..100)
|
||||
printf("%w ", apply(Goal,I))
|
||||
end,
|
||||
nl.
|
||||
6
Task/FizzBuzz/Picat/fizzbuzz-5.picat
Normal file
6
Task/FizzBuzz/Picat/fizzbuzz-5.picat
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
fb1(I) = V =>
|
||||
V = I.to_string(),
|
||||
if I mod 15 == 0 then V := "FizzBuzz"
|
||||
elseif I mod 3 == 0 then V := "Fizz"
|
||||
elseif I mod 5 == 0 then V := "Buzz"
|
||||
end.
|
||||
4
Task/FizzBuzz/Picat/fizzbuzz-6.picat
Normal file
4
Task/FizzBuzz/Picat/fizzbuzz-6.picat
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
fb2(I) = "FizzBuzz", I mod 15 == 0 => true.
|
||||
fb2(I) = "Fizz", I mod 3 == 0 => true.
|
||||
fb2(I) = "Buzz", I mod 5 == 0 => true.
|
||||
fb2(I) = I.to_string() => true.
|
||||
5
Task/FizzBuzz/Picat/fizzbuzz-7.picat
Normal file
5
Task/FizzBuzz/Picat/fizzbuzz-7.picat
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
fb3(I) = fb3b(I, I mod 3, I mod 5).
|
||||
fb3b(_I,0,0) = "FizzBuzz".
|
||||
fb3b(_I,_,0) = "Buzz".
|
||||
fb3b(_I,0,_) = "Fizz".
|
||||
fb3b(I,_,_) = I.
|
||||
3
Task/FizzBuzz/Picat/fizzbuzz-8.picat
Normal file
3
Task/FizzBuzz/Picat/fizzbuzz-8.picat
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
fb4(I) = cond(I mod 3 == 0, "Fizz", "") ++
|
||||
cond(I mod 5 == 0, "Buzz", "") ++
|
||||
cond(not ((I mod 3 == 0; I mod 5==0)), I.to_string(), "").
|
||||
15
Task/FizzBuzz/Picat/fizzbuzz-9.picat
Normal file
15
Task/FizzBuzz/Picat/fizzbuzz-9.picat
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
fizzbuzz_rec =>
|
||||
print(fizzbuzz_rec),
|
||||
fb5(100,[],L),
|
||||
println(L).
|
||||
|
||||
fb5(N,L1,L), N = 0 ?=>
|
||||
L = L1.reverse().
|
||||
fb5(N,L1,L),N mod 15 == 0 ?=>
|
||||
fb5(N-1,L1 ++ ["FizzBuzz"], L).
|
||||
fb5(N,L1,L), N mod 5 == 0 ?=>
|
||||
fb5(N-1,L1 ++ ["Buzz"], L).
|
||||
fb5(N,L1,L), N mod 3 == 0 ?=>
|
||||
fb5(N-1,L1 ++ ["Fizz"], L).
|
||||
fb5(N,L1,L), N mod 3 > 0, N mod 5 > 0 =>
|
||||
fb5(N-1,L1 ++ [N.to_string()], L).
|
||||
Loading…
Add table
Add a link
Reference in a new issue