# Leetcode 412- Fizz Buzz solution

Here, this tutorial will help you to understand about Fizz Buzz solution of leetcode 412 problem with algorithm.

You are given an integer value lets say `n`. You have to return a string array `result` where:

• `result[i] == "FizzBuzz"` if `i` is divisible by `3` and `5`.
• `result[i] == "Fizz"` if `i` is divisible by `3`.
• `result[i `== “Buzz” if `i` is divisible by `5`.
• `result[i] == i` (as a string) if none of the above conditions are true.

### Example 1:

```Input:
num = 4
result = ["1", "2", "Fizz", "4"]

num = 5
result = ["1","2","Fizz","4","Buzz"]```

## Algorithm for Fizz Buzz problem:

• Iterate over number from 1 to n
• For each number, If It is divisible by 3 and 5 then store “`FizzBuzz`” to string array.
• For each number, If It is divisible by 3 then store “`Fizz`” to string array.
• For each number, If It is divisible by 5 then store “`Buzz`” to string array.
• Store number as string in array If none of the above condition is true.

## Fizz Buzz solution code in Go

```package main

import (
"fmt"
"strconv"
)

func fizzBuzz(n int) []string {
str := []string{}

for i := 1; i <= n; i++ {
if i % 3 == 0 && i % 5 == 0 {
str = append(str, "FizzBuzz")
} else if i % 3 == 0 {
str = append(str, "Fizz")
} else if i % 5 == 0 {
str = append(str, "Buzz")
} else {
str = append(str, strconv.Itoa(i))
}
}
return str
}

func main() {
str := fizzBuzz(4)

for _, val := range(str) {
fmt.Println(val)
}
}
```

## Fizz Buzz problem code in C++

```#include <iostream>
#include <vector>

using namespace std;

vector<string> fizzBuzz(int n) {
vector<string> v;

for (int i = 1; i <= n; i++) {
if (i % 3 == 0 && i % 5 == 0) {
v.push_back("FizzBuzz");
} else if (i % 3 == 0) {
v.push_back("Fizz");
} else if (i % 5 == 0) {
v.push_back("Buzz");
} else {
v.push_back(to_string(i));
}
}
return v;
}

int main() {
vector<string> v = fizzBuzz(4);

for(auto it : v) {
cout<<it<<" ";
}
}
```