Data update

This commit is contained in:
Ingy döt Net 2023-12-16 21:33:55 -08:00
parent 35bcdeebf8
commit 74c69a0df6
2427 changed files with 31826 additions and 3468 deletions

View file

@ -0,0 +1,10 @@
logic isFizz, isBuzz
for int count = 1; count <= 100; ++count
isFizz = count % 3 == 0
isBuzz = count % 5 == 0
if isFizz and isBuzz do writeLine("Fizz Buzz")
else if isFizz do writeLine("Fizz")
else if isBuzz do writeLine("Buzz")
else do writeLine(count)
end
end

View file

@ -1,10 +0,0 @@
begin new i; label iLoop;
i <- 0;
iLoop: if [ i <- i + 1 ] <= 100 then begin
out if i mod 15 = 0 then ( "Fizz", "Buzz" )
else if i mod 5 = 0 then "Buzz"
else if i mod 3 = 0 then "Fizz"
else i;
goto iLoop
end else 0
end $

View file

@ -0,0 +1,7 @@
f[n_] := f[n, Mod[n, {3, 5}]]
f[_, {0, 0}] := "FizzBuzz"
f[_, {0, _}] := "Fizz"
f[_, {_, 0}] := "Buzz"
f[n_, {_, _}] := n
f /@ Range[100]

View file

@ -0,0 +1,9 @@
f[n_] := f[n, Mod[n, 15]]
f[_, 0] := "FizzBuzz"
f[n_, _] := f[n, Mod[n, {3, 5}]]
f[_, {0, _}] := "Fizz"
f[_, {_, 0}] := "Buzz"
f[n_, {_, _}] := n
f /@ Range[100]

View file

@ -0,0 +1,4 @@
(1..100
| each {|i| $"(if $i mod 3 == 0 {"Fizz"})(if $i mod 5 == 0 {"Buzz"})"
| if ($in == "") {$i} else {$in}}
| str join "\n")

View file

@ -0,0 +1,10 @@
program fizzbuzz;
loop for n in [1..100] do
print(fizzbuzz(n));
end loop;
proc fizzbuzz(n);
divs := [[3, "Fizz"], [5, "Buzz"]];
return +/[w : [d,w] in divs | n mod d=0] ? str n;
end proc;
end program;

View file

@ -6,4 +6,4 @@
}
elsif (i %% 5) { say "Buzz" }
else { say i }
} * 100
} << 1..100

View file

@ -1,9 +0,0 @@
map(say):
map:
- fn (x):
s =:
str:
- (zero? mod(x 3)) ?: "Fizz"
- (zero? mod(x 5)) ?: "Buzz"
if (empty? s): x, s
- (1 .. 100)

View file

@ -1,9 +0,0 @@
map(say):
map:
- fn (x):
???:
zero?(mod(x 15)) : "FizzBuzz"
zero?(mod(x 5)) : "Buzz"
zero?(mod(x 3)) : "Fizz"
:else: x
- (1 .. 100)

View file

@ -1,13 +0,0 @@
map(say):
loop [i 1, l []]:
if (i > 100):
- l
- ^^^:
- inc(i)
- conj:
- l
- ???:
zero?(mod(i 15)) : "FizzBuzz"
zero?(mod(i 5)) : "Buzz"
zero?(mod(i 3)) : "Fizz"
:else: i

View file

@ -0,0 +1,59 @@
#!/usr/bin/env ys-0
# This program has multiple implementations of "fizzbuzz".
# usage: ys fizzbuzz.ys [<count>] [<fizzbuzz-fn-#>]
# The main function runs a certain requested fizzbuzz implementation function
# for a certain requested number (default is 100).
defn main(&[count impl]):
count =: count || 100
impl =:
str: impl || "1"
fizzbuzz =: "fizzbuzz-$impl"
when-not ENV."YS_TEST":
say: "Running function '$fizzbuzz' with count=$count"
function =: resolve(symbol(fizzbuzz))
result =: function(count)
mapv say: result
# These implementation functions were adapted from
# https://rosettacode.org/wiki/FizzBuzz#Clojure
defn fizzbuzz-1(n):
map:
fn [x]:
cond:
zero?(mod(x 15)) "FizzBuzz"
zero?(mod(x 5)) "Buzz"
zero?(mod(x 3)) "Fizz"
:else x
=>: (1 .. n)
defn fizzbuzz-2(n):
loop [i 1, l []]:
if (i > n):
=>: l
recur:
inc: i
conj l:
cond:
zero?(mod(i 15)) "FizzBuzz"
zero?(mod(i 5)) "Buzz"
zero?(mod(i 3)) "Fizz"
:else i
defn fizzbuzz-3(n):
map:
fn [x]:
s =:
str:
when zero?(mod(x 3)): "Fizz"
when zero?(mod(x 5)): "Buzz"
if empty?(s): x s
rng: 1, n