Sync
This commit is contained in:
parent
6f050a029e
commit
776bba907c
3887 changed files with 59894 additions and 7280 deletions
86
Task/FizzBuzz/360-Assembly/fizzbuzz.360
Normal file
86
Task/FizzBuzz/360-Assembly/fizzbuzz.360
Normal file
|
|
@ -0,0 +1,86 @@
|
|||
FIZZBUZZ CSECT A SECTION OF CODE STARTS HERE, LABEL IT FIZZBUZZ
|
||||
**********HOUSE KEEPING AREA**********************
|
||||
USING *,12 FOR THIS PROGRAM WE ARE GOING TO USE REGISTER 12
|
||||
STM 14,12,12(13) SAVE REGISTERS 14,15, AND 0-12 IN CALLER'S SAVE AREA
|
||||
LR 12,15 PUT OUR ENTRY ADDRESS(IN R15) INTO OUR BASE REGISTER
|
||||
LA 15,SAVE POINT R15 AT THE *OUR* SAVE AREA (DEFINED AT THE END)
|
||||
ST 15,8(13) SET FORWARD CHAIN
|
||||
ST 13,4(15) SET BACKWARD CHAIN
|
||||
LR 13,15 SET R13 TO THE ADDRESS OF OUT NEW SAVE AREA
|
||||
**********MAIN*PROGRAM****************************
|
||||
LA 10,LOOP PUT THE LOOP START ADDRESS IN R10
|
||||
LA 8,100 PUT THE NUMBER OF ITERATIONS IN R8
|
||||
LA 5,=F'1' INITIALIZE BINARY COUNTER TO ONE
|
||||
LOOP EQU * LABEL THE LOOP START
|
||||
A 5,=F'1' ADD TO BINARY LOOP COUNTER
|
||||
AP NUM,=PL1'1' ADD TO PACKED LOOP COUNTER
|
||||
B CHK15 CHECK IF COUNTER IS % 12
|
||||
LCHK15 EQU * IF NOT, COME BACK
|
||||
B CHK3 CHECK IF COUNTER IS % 3
|
||||
LCHK3 EQU * IF NOT, COME BACK
|
||||
B CHK5 CHECK IF COUNTER IS % 4
|
||||
LCHK5 EQU * IF NOT, COME BACK
|
||||
MVC EOUT,EMSK PREPARE TO PKD->EBCDIC
|
||||
EDMK EOUT,NUM PKD->EBCDIC
|
||||
ENLOOP EQU * IF A TEST WAS POSITIVE RETURN HERE
|
||||
WTO MF=(E,WTOSTART) PRINT RESULT OF LOOP
|
||||
BCTR 8,10 START OVER
|
||||
**********HOUSE KEEPING AREA**********************
|
||||
L 13,4(13) RESTORE ADDRESS TO CALLER'S SAVE AREA
|
||||
LM 14,12,12(13) RESTORE REGISTERS AS ON ENTRY
|
||||
XR 15,15 XOR R15 SO IT IS ALL 0 (R15 CREATES THE PROGRAM RETURN CODE)
|
||||
BR 14 RETURN WHERE YOU CAME FROM
|
||||
**********SUBROUTINE AREA*************************
|
||||
*////////CHK3////////////////////////////////////*
|
||||
CHK3 EQU * LABEL ENTRY POINT
|
||||
LR 6,5 LOAD R6 WITH R5(THE BINARY LOOP INDEX)
|
||||
A 6,=F'1' ADD ONE TO R6
|
||||
SRDA 6,32 SHIFT RD VAL 32 BITS RIGHT(TO R7)
|
||||
D 6,=F'3' DIVIDE BY 3
|
||||
C 6,=F'0' IS REMAINDER 0?
|
||||
BE DIV3 IF SO GOTO DIV3 ROUTINE
|
||||
B LCHK3 IF NOT GO BACK TO LOOP
|
||||
*////////CHK15///////////////////////////////////*
|
||||
CHK15 EQU * LABEL ENTRY POINT
|
||||
LR 6,5 LOAD R6 WITH R5(THE BINARY LOOP INDEX)
|
||||
A 6,=F'1' ADD ONE TO R6
|
||||
SRDA 6,32 SHIFT RD VAL 32 BITS RIGHT(TO R7)
|
||||
D 6,=F'15' DIVIDE BY 15
|
||||
C 6,=F'0' IS REMAINDER 0?
|
||||
BE DIV15 IF SO GOTO DIV15 ROUTINE
|
||||
B LCHK15 IF NOT GO BACK TO LOOP
|
||||
*////////CHK5////////////////////////////////////*
|
||||
CHK5 EQU * LABEL ENTRY POINT
|
||||
LR 6,5 LOAD R6 WITH R5(THE BINARY LOOP INDEX)
|
||||
A 6,=F'1' ADD ONE TO R6
|
||||
SRDA 6,32 SHIFT RD VAL 32 BITS RIGHT(TO R7)
|
||||
D 6,=F'5' DIVIDE BY 5
|
||||
C 6,=F'0' IS REMAINDER 0?
|
||||
BE DIV5 IF SO GOTO DIV5 ROUTINE
|
||||
B LCHK5 IF NOT GO BACK TO LOOP
|
||||
*////////////////////////////////////////////////*
|
||||
DIV3 EQU * LABEL ENRTY POINT
|
||||
MVC EOUT,FIZZ SAY FIZZ
|
||||
B ENLOOP RETURN TO LOOP
|
||||
*////////////////////////////////////////////////*
|
||||
DIV5 EQU * LABEL ENTRY POINT
|
||||
MVC EOUT,BUZZ SAY BUZZ
|
||||
B ENLOOP RETURN TO LOOP
|
||||
*////////////////////////////////////////////////*
|
||||
DIV15 EQU * LABEL ENTRY POINT
|
||||
MVC EOUT,FIZZBUZ SAY FIZZBUZZ
|
||||
B ENLOOP RETURN TO LOOP
|
||||
**********VARIABLE STORAGE************************
|
||||
FIZZBUZ DC CL10'FIZZBUZZ!' CREATE A STRING IN MEMORY, LABEL THE ADDRESS FIZZBUZ
|
||||
FIZZ DC CL10'FIZZ!' CREATE A STRING IN MEMORY, LABEL THE ADDRESS FIZZ
|
||||
BUZZ DC CL10'BUZZ!' CREATE A STRING IN MEMORY, LABEL THE ADDRESS BUZZ
|
||||
NUM DC PL3'0' CREATE A DECIMAL IN MEMORY, MAKE IT ZERO, LABEL IT NUM
|
||||
TEMP DS D RESERVE A DOUBLE WORD (8 BYTES) IN MEMORY, LABEL IT TEMP
|
||||
EMSK DC X'402020202020' CREATE A HEX ARRAY IN MEMORY, LABEL IT EMSK
|
||||
WTOSTART DC Y(WTOEND-*,0) LABEL THIS WTOSTART, DEFINE A CONSTANT ADDRESS EQUAL TO
|
||||
* "WTOEND" MINUS HERE(*)
|
||||
EOUT DS CL10 RESERVE SPACE FOR 10 CHARACTERS, LABEL THIS EOUT
|
||||
WTOEND EQU * THE MEMORY ADDRESS LOCATED HERE IS LABELED WTOEND
|
||||
**********HOUSE KEEPING AREA**********************
|
||||
SAVE DS 18F
|
||||
END HELLO
|
||||
13
Task/FizzBuzz/Chapel/fizzbuzz.chapel
Normal file
13
Task/FizzBuzz/Chapel/fizzbuzz.chapel
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
proc fizzbuzz(n) {
|
||||
for i in 1..n do
|
||||
if i % 15 == 0 then
|
||||
writeln("FizzBuzz");
|
||||
else if i % 5 == 0 then
|
||||
writeln("Buzz");
|
||||
else if i % 3 == 0 then
|
||||
writeln("Fizz");
|
||||
else
|
||||
writeln(i);
|
||||
}
|
||||
|
||||
fizzbuzz(100);
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
(def fizzbuzz (lazy-seq (map
|
||||
(def fizzbuzz (map
|
||||
#(cond (zero? (mod % 15)) "FizzBuzz"
|
||||
(zero? (mod % 5)) "Buzz"
|
||||
(zero? (mod % 3)) "Fizz"
|
||||
:else %)
|
||||
(iterate inc 1))))
|
||||
(iterate inc 1)))
|
||||
|
|
|
|||
7
Task/FizzBuzz/Common-Lisp/fizzbuzz-1.lisp
Normal file
7
Task/FizzBuzz/Common-Lisp/fizzbuzz-1.lisp
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
(defun fizzbuzz ()
|
||||
(loop for x from 1 to 100 do
|
||||
(princ (cond ((zerop (mod x 15)) "FizzBuzz")
|
||||
((zerop (mod x 3)) "Fizz")
|
||||
((zerop (mod x 5)) "Buzz")
|
||||
(t x)))
|
||||
(terpri)))
|
||||
6
Task/FizzBuzz/Common-Lisp/fizzbuzz-2.lisp
Normal file
6
Task/FizzBuzz/Common-Lisp/fizzbuzz-2.lisp
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
(defun fizzbuzz ()
|
||||
(loop for x from 1 to 100 do
|
||||
(format t "~&~{~A~}"
|
||||
(or (append (when (zerop (mod x 3)) '("Fizz"))
|
||||
(when (zerop (mod x 5)) '("Buzz")))
|
||||
(list x)))))
|
||||
4
Task/FizzBuzz/Common-Lisp/fizzbuzz-3.lisp
Normal file
4
Task/FizzBuzz/Common-Lisp/fizzbuzz-3.lisp
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
(defun fizzbuzz ()
|
||||
(loop for n from 1 to 100
|
||||
do (format t "~&~[~[FizzBuzz~:;Fizz~]~*~:;~[Buzz~*~:;~D~]~]~%"
|
||||
(mod n 3) (mod n 5) n)))
|
||||
8
Task/FizzBuzz/Common-Lisp/fizzbuzz-4.lisp
Normal file
8
Task/FizzBuzz/Common-Lisp/fizzbuzz-4.lisp
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
(loop as n from 1 to 100
|
||||
as fizz = (zerop (mod n 3))
|
||||
as buzz = (zerop (mod n 5))
|
||||
as numb = (not (or fizz buzz))
|
||||
do
|
||||
(format t
|
||||
"~&~:[~;Fizz~]~:[~;Buzz~]~:[~;~D~]~%"
|
||||
fizz buzz numb n))
|
||||
8
Task/FizzBuzz/Common-Lisp/fizzbuzz-5.lisp
Normal file
8
Task/FizzBuzz/Common-Lisp/fizzbuzz-5.lisp
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
(format t "~{~:[~&~;~:*~:(~a~)~]~}"
|
||||
(loop as n from 1 to 100
|
||||
as f = (zerop (mod n 3))
|
||||
as b = (zerop (mod n 5))
|
||||
collect nil
|
||||
if f collect 'fizz
|
||||
if b collect 'buzz
|
||||
if (not (or f b)) collect n))
|
||||
5
Task/FizzBuzz/Common-Lisp/fizzbuzz-6.lisp
Normal file
5
Task/FizzBuzz/Common-Lisp/fizzbuzz-6.lisp
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
(format t "~{~{~:[~;Fizz~]~:[~;Buzz~]~:[~*~;~d~]~}~%~}"
|
||||
(loop as n from 1 to 100
|
||||
as f = (zerop (mod n 3))
|
||||
as b = (zerop (mod n 5))
|
||||
collect (list f b (not (or f b)) n)))
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
[\$@$@\/*=]d:
|
||||
[1\$3d;!["Fizz"\%0\]?$5d;!["Buzz"\%0\]?\[$.]?"
|
||||
"]f:
|
||||
0[$100<][1+f;!]#%
|
||||
0[$100\>][1+f;!]#%
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
main = mapM_ putStrLn $ take 100 fizzbuzz
|
||||
main = putStr $ concat $ map fizzbuzz [1..100]
|
||||
|
||||
fizzbuzz = zipWith (\x y -> if null y then show x else y) [1..] fbs
|
||||
|
||||
fbs = zipWith (++) (cycle ["","","Fizz"]) (cycle ["","","","","Buzz"])
|
||||
fizzbuzz n =
|
||||
"\n" ++ if null (fizz++buzz) then show n else fizz++buzz
|
||||
where fizz = if mod n 3 == 0 then "Fizz" else ""
|
||||
buzz = if mod n 5 == 0 then "Buzz" else ""
|
||||
|
|
|
|||
|
|
@ -1,12 +1,14 @@
|
|||
import Control.Monad.State
|
||||
import Control.Monad.Trans
|
||||
import Control.Monad.Writer
|
||||
main = mapM_ (putStrLn . fizzbuzz) [1..100]
|
||||
|
||||
main = putStr $ execWriter $ mapM_ (flip execStateT True . fizzbuzz) [1..100]
|
||||
fizzbuzz n =
|
||||
show n <|> [fizz| n `mod` 3 == 0] ++
|
||||
[buzz| n `mod` 5 == 0]
|
||||
|
||||
fizzbuzz :: Int -> StateT Bool (Writer String) ()
|
||||
fizzbuzz x = do
|
||||
when (x `mod` 3 == 0) $ tell "Fizz" >> put False
|
||||
when (x `mod` 5 == 0) $ tell "Buzz" >> put False
|
||||
get >>= (flip when $ tell $ show x)
|
||||
tell "\n"
|
||||
-- A simple default choice operator.
|
||||
-- Defaults if both fizz and buzz fail, concats if any succeed.
|
||||
infixr 0 <|>
|
||||
d <|> [] = d
|
||||
_ <|> x = concat x
|
||||
|
||||
fizz = "Fizz"
|
||||
buzz = "Buzz"
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
fizzBuzz :: Int -> String
|
||||
fizzBuzz x
|
||||
| x `mod` 5 == 0 && x `mod` 3 == 0 = "FizzBuzz"
|
||||
| x `mod` 5 == 0 = "Buzz"
|
||||
| x `mod` 3 == 0 = "Fizz"
|
||||
| otherwise = show x
|
||||
main = mapM_ putStrLn $ take 100 $ zipWith show_number_or_fizzbuzz [1..] fizz_buzz_list
|
||||
|
||||
show_number_or_fizzbuzz x y = if null y then show x else y
|
||||
|
||||
fizz_buzz_list = zipWith (++) (cycle ["","","Fizz"]) (cycle ["","","","","Buzz"])
|
||||
|
|
|
|||
|
|
@ -1,10 +1,12 @@
|
|||
fizzBuzz :: (Integral a) => a -> String
|
||||
fizzBuzz i
|
||||
| fizz && buzz = "FizzBuzz"
|
||||
| fizz = "Fizz"
|
||||
| buzz = "Buzz"
|
||||
| otherwise = show i
|
||||
where fizz = i `mod` 3 == 0
|
||||
buzz = i `mod` 5 == 0
|
||||
import Control.Monad.State
|
||||
import Control.Monad.Trans
|
||||
import Control.Monad.Writer
|
||||
|
||||
main = mapM_ (putStrLn . fizzBuzz) [1..100]
|
||||
main = putStr $ execWriter $ mapM_ (flip execStateT True . fizzbuzz) [1..100]
|
||||
|
||||
fizzbuzz :: Int -> StateT Bool (Writer String) ()
|
||||
fizzbuzz x = do
|
||||
when (x `mod` 3 == 0) $ tell "Fizz" >> put False
|
||||
when (x `mod` 5 == 0) $ tell "Buzz" >> put False
|
||||
get >>= (flip when $ tell $ show x)
|
||||
tell "\n"
|
||||
|
|
|
|||
10
Task/FizzBuzz/Haskell/fizzbuzz-6.hs
Normal file
10
Task/FizzBuzz/Haskell/fizzbuzz-6.hs
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
fizzBuzz :: (Integral a) => a -> String
|
||||
fizzBuzz i
|
||||
| fizz && buzz = "FizzBuzz"
|
||||
| fizz = "Fizz"
|
||||
| buzz = "Buzz"
|
||||
| otherwise = show i
|
||||
where fizz = i `mod` 3 == 0
|
||||
buzz = i `mod` 5 == 0
|
||||
|
||||
main = mapM_ (putStrLn . fizzBuzz) [1..100]
|
||||
11
Task/FizzBuzz/Julia/fizzbuzz-1.julia
Normal file
11
Task/FizzBuzz/Julia/fizzbuzz-1.julia
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
for i = 1:100
|
||||
if i % 15 == 0
|
||||
println("FizzBuzz")
|
||||
elseif i % 3 == 0
|
||||
println("Fizz")
|
||||
elseif i % 5 == 0
|
||||
println("Buzz")
|
||||
else
|
||||
println(i)
|
||||
end
|
||||
end
|
||||
4
Task/FizzBuzz/Julia/fizzbuzz-2.julia
Normal file
4
Task/FizzBuzz/Julia/fizzbuzz-2.julia
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
println( [ i%15 == 0? "FizzBuzz" :
|
||||
i%5 == 0? "Buzz" :
|
||||
i%3 == 0? "Fizz" :
|
||||
i for i = 1:100 ] )
|
||||
|
|
@ -1,3 +1,7 @@
|
|||
for i in range(1, 101):
|
||||
words = [word for n, word in ((3, 'Fizz'), (5, 'Buzz')) if not i % n]
|
||||
print ''.join(words) or i
|
||||
for n in range(1,101):
|
||||
msg = ""
|
||||
if not (n%3):
|
||||
msg += "Fizz"
|
||||
if not (n%5):
|
||||
msg += "Buzz"
|
||||
print msg or str(n)
|
||||
|
|
|
|||
|
|
@ -1,4 +1,3 @@
|
|||
print ('\n'.join(''.join(''.join(['' if i%3 else 'Fizz',
|
||||
'' if i%5 else 'Buzz'])
|
||||
or str(i))
|
||||
for i in range(1,101)))
|
||||
for i in range(1, 101):
|
||||
words = [word for n, word in ((3, 'Fizz'), (5, 'Buzz')) if not i % n]
|
||||
print ''.join(words) or i
|
||||
|
|
|
|||
|
|
@ -1,2 +1,4 @@
|
|||
for i in range(1, 101):
|
||||
print 'Fizz'*(not(i%3))+'Buzz'*(not(i%5)) or i
|
||||
print ('\n'.join(''.join(''.join(['' if i%3 else 'Fizz',
|
||||
'' if i%5 else 'Buzz'])
|
||||
or str(i))
|
||||
for i in range(1,101)))
|
||||
|
|
|
|||
|
|
@ -1,6 +1,2 @@
|
|||
messages = [None, "Fizz", "Buzz", "FizzBuzz"]
|
||||
acc = 810092048
|
||||
for i in xrange(1, 101):
|
||||
c = acc & 3
|
||||
print messages[c] if c else i
|
||||
acc = acc >> 2 | c << 28
|
||||
for i in range(1, 101):
|
||||
print 'Fizz'*(not(i%3))+'Buzz'*(not(i%5)) or i
|
||||
|
|
|
|||
|
|
@ -1,14 +1,6 @@
|
|||
>>> ' '.join(''.join(''.join(['' if i%3 else 'F',
|
||||
'' if i%5 else 'B'])
|
||||
or str('00'))
|
||||
for i in range(1,16))
|
||||
'00 00 F 00 B F 00 00 F B 00 F 00 00 FB'
|
||||
>>> _
|
||||
'00 00 F 00 B F 00 00 F B 00 F 00 00 FB'
|
||||
>>> _.replace('FB','11').replace('F','01').replace('B','10').split()[::-1]
|
||||
['11', '00', '00', '01', '00', '10', '01', '00', '00', '01', '10', '00', '01', '00', '00']
|
||||
>>> '0b' + ''.join(_)
|
||||
'0b110000010010010000011000010000'
|
||||
>>> eval(_)
|
||||
810092048
|
||||
>>>
|
||||
messages = [None, "Fizz", "Buzz", "FizzBuzz"]
|
||||
acc = 810092048
|
||||
for i in xrange(1, 101):
|
||||
c = acc & 3
|
||||
print messages[c] if c else i
|
||||
acc = acc >> 2 | c << 28
|
||||
|
|
|
|||
|
|
@ -1,6 +1,14 @@
|
|||
import random
|
||||
|
||||
for i in range(0, 100):
|
||||
if not i % 15:
|
||||
random.seed(1178741599)
|
||||
print [i+1, "Fizz", "Buzz", "FizzBuzz"][random.randint(0,3)]
|
||||
>>> ' '.join(''.join(''.join(['' if i%3 else 'F',
|
||||
'' if i%5 else 'B'])
|
||||
or str('00'))
|
||||
for i in range(1,16))
|
||||
'00 00 F 00 B F 00 00 F B 00 F 00 00 FB'
|
||||
>>> _
|
||||
'00 00 F 00 B F 00 00 F B 00 F 00 00 FB'
|
||||
>>> _.replace('FB','11').replace('F','01').replace('B','10').split()[::-1]
|
||||
['11', '00', '00', '01', '00', '10', '01', '00', '00', '01', '10', '00', '01', '00', '00']
|
||||
>>> '0b' + ''.join(_)
|
||||
'0b110000010010010000011000010000'
|
||||
>>> eval(_)
|
||||
810092048
|
||||
>>>
|
||||
|
|
|
|||
|
|
@ -1,13 +1,6 @@
|
|||
from itertools import cycle, izip, count, islice
|
||||
import random
|
||||
|
||||
fizzes = cycle([""] * 2 + ["Fizz"])
|
||||
buzzes = cycle([""] * 4 + ["Buzz"])
|
||||
both = (f + b for f, b in izip(fizzes, buzzes))
|
||||
|
||||
# if the string is "", yield the number
|
||||
# otherwise yield the string
|
||||
fizzbuzz = (word or n for word, n in izip(both, count(1)))
|
||||
|
||||
# print the first 100
|
||||
for i in islice(fizzbuzz, 100):
|
||||
print i
|
||||
for i in range(0, 100):
|
||||
if not i % 15:
|
||||
random.seed(1178741599)
|
||||
print [i+1, "Fizz", "Buzz", "FizzBuzz"][random.randint(0,3)]
|
||||
|
|
|
|||
13
Task/FizzBuzz/Python/fizzbuzz-9.py
Normal file
13
Task/FizzBuzz/Python/fizzbuzz-9.py
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
from itertools import cycle, izip, count, islice
|
||||
|
||||
fizzes = cycle([""] * 2 + ["Fizz"])
|
||||
buzzes = cycle([""] * 4 + ["Buzz"])
|
||||
both = (f + b for f, b in izip(fizzes, buzzes))
|
||||
|
||||
# if the string is "", yield the number
|
||||
# otherwise yield the string
|
||||
fizzbuzz = (word or n for word, n in izip(both, count(1)))
|
||||
|
||||
# print the first 100
|
||||
for i in islice(fizzbuzz, 100):
|
||||
print i
|
||||
|
|
@ -1,18 +1,20 @@
|
|||
// rust 0.8
|
||||
|
||||
fn main() {
|
||||
let mut n = 1;
|
||||
while n <= 100 {
|
||||
if n % 15 == 0 {
|
||||
io::println("FizzBuzz");
|
||||
let mut n:uint = 1;
|
||||
while n <= 100 {
|
||||
if n % 15 == 0 {
|
||||
println("FizzBuzz");
|
||||
}
|
||||
else if n % 3 == 0 {
|
||||
println("Fizz");
|
||||
}
|
||||
else if n % 5 == 0 {
|
||||
println("Buzz");
|
||||
}
|
||||
else {
|
||||
println(n.to_str());
|
||||
}
|
||||
n += 1;
|
||||
}
|
||||
else if n % 3 == 0 {
|
||||
println("Fizz");
|
||||
}
|
||||
else if n % 5 == 0 {
|
||||
io::println("Buzz");
|
||||
}
|
||||
else {
|
||||
io::println(int::to_str(n));
|
||||
}
|
||||
n += 1;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,8 +1,11 @@
|
|||
fn main() {
|
||||
for int::range(1, 101) |i| {
|
||||
if i % 15 == 0 { io::println("FizzBuzz") }
|
||||
else if i % 3 == 0 { io::println("Fizz") }
|
||||
else if i % 5 == 0 { io::println("Buzz") }
|
||||
else { io::println(int::str(i)) }
|
||||
}
|
||||
// rust 0.8
|
||||
|
||||
fn main() { for n in std::iter::range_inclusive(1,100) { fizzbuzz(n) }}
|
||||
|
||||
fn fizzbuzz(n:int) {
|
||||
let mut buf = ~"";
|
||||
if n % 3 == 0 { buf.push_str("Fizz") }
|
||||
if n % 5 == 0 { buf.push_str("Buzz") }
|
||||
if buf != ~"" { println!("{}", buf ) }
|
||||
else { println!("{}", n ) }
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,11 +1,13 @@
|
|||
// rust 0.8
|
||||
|
||||
fn main() {
|
||||
for int::range(1, 101) |num| {
|
||||
io::println(
|
||||
for num in std::iter::range_inclusive(1, 100) {
|
||||
println(
|
||||
match (num % 3, num % 5) {
|
||||
(0, 0) => ~"FizzBuzz",
|
||||
(0, _) => ~"Fizz",
|
||||
(_, 0) => ~"Buzz",
|
||||
(_, _) => int::str(num)
|
||||
(_, _) => num.to_str()
|
||||
}
|
||||
);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,8 +1,10 @@
|
|||
// rust 0.8
|
||||
|
||||
fn main() {
|
||||
for int::range(1, 101) |num| {
|
||||
io::println(
|
||||
for num in std::iter::range_inclusive(1, 100) {
|
||||
println(
|
||||
match (num % 3 == 0, num % 5 == 0) {
|
||||
(false, false) => int::str(num),
|
||||
(false, false) => num.to_str(),
|
||||
(true, false) => ~"Fizz",
|
||||
(false, true) => ~"Buzz",
|
||||
(true, true) => ~"FizzBuzz"
|
||||
|
|
|
|||
20
Task/FizzBuzz/Rust/fizzbuzz-5.rust
Normal file
20
Task/FizzBuzz/Rust/fizzbuzz-5.rust
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
// rust 0.8
|
||||
|
||||
fn main() {
|
||||
for num in range(1,101) {
|
||||
let answer =
|
||||
if num % 15 == 0 {
|
||||
~"FizzBuzz"
|
||||
}
|
||||
else if num % 3 == 0 {
|
||||
~"Fizz"
|
||||
}
|
||||
else if num % 5 == 0 {
|
||||
~"Buzz"
|
||||
}
|
||||
else {
|
||||
num.to_str()
|
||||
};
|
||||
println(answer);
|
||||
}
|
||||
}
|
||||
|
|
@ -1,18 +1,10 @@
|
|||
DROP TABLE fizzbuzz;
|
||||
CREATE TABLE fizzbuzz(i int, fizz string, buzz string);
|
||||
INSERT INTO fizzbuzz VALUES(1,"","");
|
||||
INSERT INTO fizzbuzz SELECT i + (SELECT max(i) FROM fizzbuzz), fizz, buzz FROM fizzbuzz;
|
||||
INSERT INTO fizzbuzz SELECT i + (SELECT max(i) FROM fizzbuzz), fizz, buzz FROM fizzbuzz;
|
||||
INSERT INTO fizzbuzz SELECT i + (SELECT max(i) FROM fizzbuzz), fizz, buzz FROM fizzbuzz;
|
||||
INSERT INTO fizzbuzz SELECT i + (SELECT max(i) FROM fizzbuzz), fizz, buzz FROM fizzbuzz;
|
||||
INSERT INTO fizzbuzz SELECT i + (SELECT max(i) FROM fizzbuzz), fizz, buzz FROM fizzbuzz;
|
||||
INSERT INTO fizzbuzz SELECT i + (SELECT max(i) FROM fizzbuzz), fizz, buzz FROM fizzbuzz;
|
||||
INSERT INTO fizzbuzz SELECT i + (SELECT max(i) FROM fizzbuzz), fizz, buzz FROM fizzbuzz;
|
||||
DROP TABLE lookup;
|
||||
CREATE TABLE lookup (fizzy, buzzy, rem);
|
||||
INSERT INTO lookup VALUES("fizz", "buzz", 1);
|
||||
SELECT
|
||||
(SELECT i FROM lookup WHERE rem = (i%3<>0)&(i%5<>0)),
|
||||
(SELECT fizzy FROM lookup WHERE rem = (i%3=0)),
|
||||
(SELECT buzzy FROM lookup WHERE rem = (i%5=0))
|
||||
FROM fizzbuzz WHERE i <= 100;
|
||||
select (CASE
|
||||
WHEN MOD(lvl,15)=0 THEN 'FizzBuzz'
|
||||
WHEN MOD(lvl,3)=0 THEN 'Fizz'
|
||||
WHEN MOD(lvl,5)=0 THEN 'Buzz'
|
||||
ELSE TO_CHAR(lvl)
|
||||
END) FizzBuzz
|
||||
from (
|
||||
select LEVEL lvl
|
||||
from dual
|
||||
connect by LEVEL <= 100)
|
||||
|
|
|
|||
|
|
@ -1,10 +1,15 @@
|
|||
select (CASE
|
||||
WHEN MOD(lvl,15)=0 THEN 'FizzBuzz'
|
||||
WHEN MOD(lvl,3)=0 THEN 'Fizz'
|
||||
WHEN MOD(lvl,5)=0 THEN 'Buzz'
|
||||
ELSE TO_CHAR(lvl)
|
||||
END) FizzBuzz
|
||||
from (
|
||||
select LEVEL lvl
|
||||
from dual
|
||||
connect by LEVEL <= 100)
|
||||
WITH nums (n, fizzbuzz ) AS (
|
||||
SELECT 1, CONVERT(nvarchar, 1) UNION ALL
|
||||
SELECT
|
||||
(n + 1) as n1,
|
||||
CASE
|
||||
WHEN (n + 1) % 15 = 0 THEN 'FizzBuzz'
|
||||
WHEN (n + 1) % 3 = 0 THEN 'Fizz'
|
||||
WHEN (n + 1) % 5 = 0 THEN 'Buzz'
|
||||
ELSE CONVERT(nvarchar, (n + 1))
|
||||
END
|
||||
FROM nums WHERE n < 100
|
||||
)
|
||||
SELECT n, fizzbuzz FROM nums
|
||||
ORDER BY n ASC
|
||||
OPTION ( MAXRECURSION 100 )
|
||||
|
|
|
|||
|
|
@ -1,15 +1,24 @@
|
|||
WITH nums (n, fizzbuzz ) AS (
|
||||
SELECT 1, CONVERT(nvarchar, 1) UNION ALL
|
||||
SELECT
|
||||
(n + 1) as n1,
|
||||
CASE
|
||||
WHEN (n + 1) % 15 = 0 THEN 'FizzBuzz'
|
||||
WHEN (n + 1) % 3 = 0 THEN 'Fizz'
|
||||
WHEN (n + 1) % 5 = 0 THEN 'Buzz'
|
||||
ELSE CONVERT(nvarchar, (n + 1))
|
||||
END
|
||||
FROM nums WHERE n < 100
|
||||
)
|
||||
SELECT n, fizzbuzz FROM nums
|
||||
ORDER BY n ASC
|
||||
OPTION ( MAXRECURSION 100 )
|
||||
-- Load some numbers
|
||||
CREATE TABLE numbers(i INTEGER);
|
||||
INSERT INTO numbers VALUES(1);
|
||||
INSERT INTO numbers SELECT i + (SELECT MAX(i) FROM numbers) FROM numbers;
|
||||
INSERT INTO numbers SELECT i + (SELECT MAX(i) FROM numbers) FROM numbers;
|
||||
INSERT INTO numbers SELECT i + (SELECT MAX(i) FROM numbers) FROM numbers;
|
||||
INSERT INTO numbers SELECT i + (SELECT MAX(i) FROM numbers) FROM numbers;
|
||||
INSERT INTO numbers SELECT i + (SELECT MAX(i) FROM numbers) FROM numbers;
|
||||
INSERT INTO numbers SELECT i + (SELECT MAX(i) FROM numbers) FROM numbers;
|
||||
INSERT INTO numbers SELECT i + (SELECT MAX(i) FROM numbers) FROM numbers;
|
||||
-- Define the fizzes and buzzes
|
||||
CREATE TABLE fizzbuzz (message VARCHAR(8), divisor INTEGER);
|
||||
INSERT INTO fizzbuzz VALUES('fizz', 3);
|
||||
INSERT INTO fizzbuzz VALUES('buzz', 5);
|
||||
INSERT INTO fizzbuzz VALUES('fizzbuzz', 15);
|
||||
-- Play fizzbuzz
|
||||
SELECT COALESCE(max(message),CAST(i AS VARCHAR(99))) as result
|
||||
FROM numbers LEFT OUTER JOIN fizzbuzz ON MOD(i,divisor) = 0
|
||||
GROUP BY i
|
||||
HAVING i <= 100
|
||||
ORDER BY i;
|
||||
-- Tidy up
|
||||
DROP TABLE fizzbuzz;
|
||||
DROP TABLE numbers;
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
(1 to 100) foreach {
|
||||
case x if (x % 15 == 0) => println("FizzBuzz")
|
||||
case x if (x % 3 == 0) => println("Fizz")
|
||||
case x if (x % 5 == 0) => println("Buzz")
|
||||
case x => println(x)
|
||||
}
|
||||
for (x <- 1 to 100) println(
|
||||
(x % 3, x % 5) match {
|
||||
case (0, 0) => "FizzBuzz"
|
||||
case (0, _) => "Fizz"
|
||||
case (_, 0) => "Buzz"
|
||||
case _ => x
|
||||
})
|
||||
|
|
|
|||
|
|
@ -1,6 +1,8 @@
|
|||
(1 to 100) map ( x => (x % 3, x % 5) match{
|
||||
case (0,0) => "FizzBuzz"
|
||||
case (0,_) => "Fizz"
|
||||
case (_,0) => "Buzz"
|
||||
case _ => x
|
||||
}) foreach println
|
||||
def replaceMultiples(x: Int, rs: (Int, String)*) =
|
||||
rs map { case (n, s) => Either cond (x % n == 0, s, x) } reduceLeft ((a, b) =>
|
||||
a fold ((_ => b), (s => b fold ((_ => a), (t => Right(s + t))))))
|
||||
|
||||
def fizzbuzz(n: Int) =
|
||||
replaceMultiples(n, 3 -> "Fizz", 5 -> "Buzz") fold ((_ toString), identity)
|
||||
|
||||
1 to 100 map fizzbuzz foreach println
|
||||
|
|
|
|||
|
|
@ -1,8 +1,2 @@
|
|||
def replaceMultiples(x: Int, rs: (Int, String)*) =
|
||||
rs map {case (n, s) => Either cond (x % n == 0, s, x)} reduceLeft ((a, b) =>
|
||||
a fold ((_ => b), (s => b fold ((_ => a), (t => Right(s + t))))))
|
||||
|
||||
def fizzbuzz(n: Int) =
|
||||
replaceMultiples(n, 3 -> "Fizz", 5 -> "Buzz") fold ((_ toString), identity)
|
||||
|
||||
1 to 100 map fizzbuzz foreach println
|
||||
def f(a: Int, b: Int, c: String, d: String): String = if (a % b == 0) c else d
|
||||
for (i <- 1 to 100) println(f(i, 15, "FizzBuzz", f(i, 3, "Fizz", f(i, 5, "Buzz", i.toString))))
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue