Last active
June 6, 2017 18:57
-
-
Save twmulloy/1e192b5b429254741334ccfb173469f2 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// http://wiki.c2.com/?FizzBuzzTest | |
// Write a program that prints the numbers from 1 to 100. | |
// But for multiples of three print “Fizz” instead of the | |
// number and for the multiples of five print “Buzz”. For | |
// numbers which are multiples of both three and five | |
// print “FizzBuzz”. | |
var fizzBuzz = (function() { | |
var FIZZ = 'Fizz'; | |
var BUZZ = 'Buzz'; | |
var output = ''; | |
for (var i = 1; i <= 100; i++) { | |
if (i % 3 === 0 && i % 5 === 0) { // `if (i % 15 === 0) {` | |
output += FIZZ + BUZZ; | |
} else if (i % 3 === 0) { | |
output += FIZZ; | |
} else if (i % 5 === 0) { | |
output += BUZZ; | |
} else { | |
output += i; | |
} | |
} | |
return output; | |
})(); | |
console.log(fizzBuzz); | |
// 12Fizz4BuzzFizz78FizzBuzz11Fizz1314FizzBuzz1617Fizz19BuzzFizz2223FizzBuzz26Fizz2829FizzBuzz3132Fizz34BuzzFizz3738FizzBuzz41Fizz4344FizzBuzz4647Fizz49BuzzFizz5253FizzBuzz56Fizz5859FizzBuzz6162Fizz64BuzzFizz6768FizzBuzz71Fizz7374FizzBuzz7677Fizz79BuzzFizz8283FizzBuzz86Fizz8889FizzBuzz9192Fizz94BuzzFizz9798FizzBuzz |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Write a program that prints the numbers from 1 to 100. | |
// But for multiples of three print “Fizz” instead of the | |
// number and for the multiples of five print “Buzz”. For | |
// numbers which are multiples of both three and five | |
// print “FizzBuzz”. | |
var fizzBuzz = (function() { | |
var FIZZ = 'Fizz'; | |
var BUZZ = 'Buzz'; | |
var FIZZBUZZ = FIZZ + BUZZ; | |
var outputs = []; | |
function reset() { | |
outputs = []; | |
} | |
function output(i) { | |
if (i % 3 === 0 && i % 5 === 0) { return FIZZBUZZ } | |
if (i % 3 === 0) { return FIZZ } | |
if (i % 5 === 0) { return BUZZ } | |
return i + ''; | |
} | |
function format() { | |
return outputs.join(''); | |
} | |
function loop() { | |
outputs = []; | |
for (var i = 1; i <= 100; i++) { | |
outputs.push(output(i)); | |
} | |
return format(outputs); | |
} | |
function recursive(i, limit) { | |
outputs.push(output(i)); | |
if (i === limit) { return format(outputs) } | |
return recursive(i + 1, limit); | |
} | |
return { | |
reset: reset, | |
loop: loop, | |
recursive: recursive | |
}; | |
})(); | |
console.log('output:', fizzBuzz.loop()); | |
fizzBuzz.reset(); | |
console.log('output:', fizzBuzz.recursive(1, 100)); | |
// output: 12Fizz4BuzzFizz78FizzBuzz11Fizz1314FizzBuzz1617Fizz19BuzzFizz2223FizzBuzz26Fizz2829FizzBuzz3132Fizz34BuzzFizz3738FizzBuzz41Fizz4344FizzBuzz4647Fizz49BuzzFizz5253FizzBuzz56Fizz5859FizzBuzz6162Fizz64BuzzFizz6768FizzBuzz71Fizz7374FizzBuzz7677Fizz79BuzzFizz8283FizzBuzz86Fizz8889FizzBuzz9192Fizz94BuzzFizz9798FizzBuzz | |
// output: 12Fizz4BuzzFizz78FizzBuzz11Fizz1314FizzBuzz1617Fizz19BuzzFizz2223FizzBuzz26Fizz2829FizzBuzz3132Fizz34BuzzFizz3738FizzBuzz41Fizz4344FizzBuzz4647Fizz49BuzzFizz5253FizzBuzz56Fizz5859FizzBuzz6162Fizz64BuzzFizz6768FizzBuzz71Fizz7374FizzBuzz7677Fizz79BuzzFizz8283FizzBuzz86Fizz8889FizzBuzz9192Fizz94BuzzFizz9798FizzBuzz |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment