"This notebook was prepared by [Donne Martin](https://github.com/donnemartin). Source and license info is on [GitHub](https://github.com/donnemartin/interactive-coding-challenges)."
]
},
{
"cell_type":"markdown",
"metadata":{},
"source":[
"# Solution Notebook"
]
},
{
"cell_type":"markdown",
"metadata":{},
"source":[
"## Problem: Implement Fizz Buzz.\n",
"\n",
"* [Constraints](#Constraints)\n",
"* [Test Cases](#Test-Cases)\n",
"* [Algorithm](#Algorithm)\n",
"* [Code](#Code)\n",
"* [Unit Test](#Unit-Test)"
]
},
{
"cell_type":"markdown",
"metadata":{},
"source":[
"## Constraints\n",
"\n",
"* What is fizz buzz?\n",
" * Return the string representation of numbers from 1 to n\n",
" * Multiples of 3 -> 'Fizz'\n",
" * Multiples of 5 -> 'Buzz'\n",
" * Multiples of 3 and 5 -> 'FizzBuzz'\n",
"* Can we assume the inputs are valid?\n",
" * No\n",
"* Can we assume this fits memory?\n",
" * Yes"
]
},
{
"cell_type":"markdown",
"metadata":{},
"source":[
"## Test Cases\n",
"\n",
"<pre>\n",
"* None -> Exception\n",
"* < 1 -> Exception\n",
"* 15 ->\n",
"[\n",
"'1',\n",
"'2',\n",
"'Fizz',\n",
"'4',\n",
"'Buzz',\n",
"'Fizz',\n",
"'7',\n",
"'8',\n",
"'Fizz',\n",
"'Buzz',\n",
"'11',\n",
"'Fizz',\n",
"'13',\n",
"'14',\n",
"'FizzBuzz'\n",
"]\n",
"</pre>"
]
},
{
"cell_type":"markdown",
"metadata":{},
"source":[
"## Algorithm\n",
"\n",
"There is no fancy algorithm to solve fizz buzz.\n",
"\n",
"* Iterate from 1 through n\n",
"* Use the mod operator to determine if the current iteration is divisible by:\n",