Add a bunch of new languages
This commit is contained in:
parent
1e05ecd7ee
commit
2a4d27cea0
158 changed files with 1469 additions and 0 deletions
10
Task/FizzBuzz/ActionScript/fizzbuzz.as
Normal file
10
Task/FizzBuzz/ActionScript/fizzbuzz.as
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
for (var i:int = 1; i <= 100; i++) {
|
||||
if (i % 15 == 0)
|
||||
trace('FizzBuzz');
|
||||
else if (i % 5 == 0)
|
||||
trace('Buzz');
|
||||
else if (i % 3 == 0)
|
||||
trace('Fizz');
|
||||
else
|
||||
trace(i);
|
||||
}
|
||||
22
Task/FizzBuzz/Babel/fizzbuzz.pb
Normal file
22
Task/FizzBuzz/Babel/fizzbuzz.pb
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
main:
|
||||
{ { iter 1 + dup
|
||||
|
||||
15 %
|
||||
{ "FizzBuzz" <<
|
||||
zap }
|
||||
{ dup
|
||||
3 %
|
||||
{ "Fizz" <<
|
||||
zap }
|
||||
{ dup
|
||||
5 %
|
||||
{ "Buzz" <<
|
||||
zap}
|
||||
{ %d << }
|
||||
if }
|
||||
if }
|
||||
if
|
||||
|
||||
"\n" << }
|
||||
|
||||
100 times }
|
||||
6
Task/FizzBuzz/Prolog/fizzbuzz-2.pro
Normal file
6
Task/FizzBuzz/Prolog/fizzbuzz-2.pro
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
fizzbuzz(X) :- 0 is X mod 15, write('FizzBuzz').
|
||||
fizzbuzz(X) :- 0 is X mod 3, write('Fizz').
|
||||
fizzbuzz(X) :- 0 is X mod 5, write('Buzz').
|
||||
fizzbuzz(X) :- write(X).
|
||||
|
||||
dofizzbuzz :- foreach(between(1, 100, X), (fizzbuzz(X),nl)).
|
||||
13
Task/FizzBuzz/Prolog/fizzbuzz.pro
Normal file
13
Task/FizzBuzz/Prolog/fizzbuzz.pro
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
fizzbuzz :-
|
||||
foreach(between(1, 100, X), print_item(X)).
|
||||
|
||||
print_item(X) :-
|
||||
( 0 is X mod 15
|
||||
-> print('FizzBuzz')
|
||||
; 0 is X mod 3
|
||||
-> print('Fizz')
|
||||
; 0 is X mod 5
|
||||
-> print('Buzz')
|
||||
; print(X)
|
||||
),
|
||||
nl.
|
||||
2
Task/FizzBuzz/R/fizzbuzz-2.r
Normal file
2
Task/FizzBuzz/R/fizzbuzz-2.r
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
x <- paste(rep("", 100), c("", "", "Fizz"), c("", "", "", "", "Buzz"), sep="")
|
||||
cat(ifelse(x == "", 1:100, x), "\n")
|
||||
4
Task/FizzBuzz/R/fizzbuzz-3.r
Normal file
4
Task/FizzBuzz/R/fizzbuzz-3.r
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
x <- 1:100
|
||||
ifelse(x %% 15 == 0, 'FizzBuzz',
|
||||
ifelse(x %% 5 == 0, 'Buzz',
|
||||
ifelse(x %% 3 == 0, 'Fizz', x)))
|
||||
6
Task/FizzBuzz/R/fizzbuzz.r
Normal file
6
Task/FizzBuzz/R/fizzbuzz.r
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
x <- 1:100
|
||||
xx <- as.character(x)
|
||||
xx[x%%3==0] <- "Fizz"
|
||||
xx[x%%5==0] <- "Buzz"
|
||||
xx[x%%15==0] <- "FizzBuzz"
|
||||
xx
|
||||
7
Task/FizzBuzz/Racket/fizzbuzz.rkt
Normal file
7
Task/FizzBuzz/Racket/fizzbuzz.rkt
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
(for ([n (in-range 1 101)])
|
||||
(displayln
|
||||
(match (gcd n 15)
|
||||
[15 "fizzbuzz"]
|
||||
[3 "fizz"]
|
||||
[5 "buzz"]
|
||||
[_ n])))
|
||||
14
Task/FizzBuzz/Sather/fizzbuzz.sa
Normal file
14
Task/FizzBuzz/Sather/fizzbuzz.sa
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
class MAIN is
|
||||
main is
|
||||
loop i ::= 1.upto!(100);
|
||||
s:STR := "";
|
||||
if i % 3 = 0 then s := "Fizz"; end;
|
||||
if i % 5 = 0 then s := s + "Buzz"; end;
|
||||
if s.length > 0 then
|
||||
#OUT + s + "\n";
|
||||
else
|
||||
#OUT + i + "\n";
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
8
Task/FizzBuzz/Scheme/fizzbuzz.ss
Normal file
8
Task/FizzBuzz/Scheme/fizzbuzz.ss
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
(do ((i 1 (+ i 1)))
|
||||
((> i 100))
|
||||
(display
|
||||
(cond ((= 0 (modulo i 15)) "FizzBuzz")
|
||||
((= 0 (modulo i 3)) "Fizz")
|
||||
((= 0 (modulo i 5)) "Buzz")
|
||||
(else i)))
|
||||
(newline))
|
||||
9
Task/FizzBuzz/Smalltalk/fizzbuzz-2.st
Normal file
9
Task/FizzBuzz/Smalltalk/fizzbuzz-2.st
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
(1 to: 100) do:
|
||||
[:n |
|
||||
((n \\ 3)*(n \\ 5)) isZero
|
||||
ifFalse: [Transcript show: n].
|
||||
(n \\ 3) isZero
|
||||
ifTrue: [Transcript show: 'Fizz'].
|
||||
(n \\ 5) isZero
|
||||
ifTrue: [Transcript show: 'Buzz'].
|
||||
Transcript cr.]
|
||||
8
Task/FizzBuzz/Smalltalk/fizzbuzz-3.st
Normal file
8
Task/FizzBuzz/Smalltalk/fizzbuzz-3.st
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
fizzbuzz := Dictionary with: #(true true)->'FizzBuzz'
|
||||
with: #(true false)->'Fizz'
|
||||
with: #(false true)->'Buzz'.
|
||||
|
||||
1 to: 100 do:
|
||||
[ :i | Transcript show:
|
||||
(fizzbuzz at: {i isDivisibleBy: 3. i isDivisibleBy: 5}
|
||||
ifAbsent: [ i ]); cr]
|
||||
10
Task/FizzBuzz/Smalltalk/fizzbuzz-4.st
Normal file
10
Task/FizzBuzz/Smalltalk/fizzbuzz-4.st
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
1 to: 100 do: [:n | |r|
|
||||
r := n rem: 15.
|
||||
Transcript show: (r isZero
|
||||
ifTrue:['fizzbuzz']
|
||||
ifFalse: [(#(3 6 9 12) includes: r)
|
||||
ifTrue:['fizz']
|
||||
ifFalse:[((#(5 10) includes: r))
|
||||
ifTrue:['buzz']
|
||||
ifFalse:[n]]]);
|
||||
cr].
|
||||
5
Task/FizzBuzz/Smalltalk/fizzbuzz-5.st
Normal file
5
Task/FizzBuzz/Smalltalk/fizzbuzz-5.st
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
fbz := (1 to: 100) asOrderedCollection.
|
||||
3 to: 100 by: 3 do: [:i | fbz at: i put: 'Fizz'].
|
||||
5 to: 100 by: 5 do: [:i | fbz at: i put: 'Buzz'].
|
||||
15 to: 100 by: 15 do: [:i | fbz at: i put: 'FizzBuzz'].
|
||||
fbz do: [:i | Transcript show: i; cr].
|
||||
5
Task/FizzBuzz/Smalltalk/fizzbuzz-6.st
Normal file
5
Task/FizzBuzz/Smalltalk/fizzbuzz-6.st
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
1 to: 100 do: [:i | |fb s|
|
||||
fb := {i isDivisibleBy: 3. i isDivisibleBy: 5. nil}.
|
||||
fb at: 3 put: (fb first | fb second) not.
|
||||
s := '<1?Fizz:><2?Buzz:><3?{1}:>' format: {i printString}.
|
||||
Transcript show: (s expandMacrosWithArguments: fb); cr].
|
||||
9
Task/FizzBuzz/Smalltalk/fizzbuzz.st
Normal file
9
Task/FizzBuzz/Smalltalk/fizzbuzz.st
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
Integer extend [
|
||||
fizzbuzz [
|
||||
| fb |
|
||||
fb := '%<Fizz|>1%<Buzz|>2' % {
|
||||
self \\ 3 == 0. self \\ 5 == 0 }.
|
||||
^fb isEmpty ifTrue: [ self ] ifFalse: [ fb ]
|
||||
]
|
||||
]
|
||||
1 to: 100 do: [ :i | i fizzbuzz displayNl ]
|
||||
Loading…
Add table
Add a link
Reference in a new issue