Thursday, July 4, 2024

Fizz Buzz Implementation

Given an integer n, for every integer i <= n, the task is to print “FizzBuzz” if i is divisible by 3 and 5, “Fizz” if i is divisible by 3, “Buzz” if i is divisible by 5 or i (as a string) if none of the conditions are true.

Example:

Input: n = 3
Output: [1 2 Fizz]

Input: n = 5
Output: [1 2 Fizz 4 Buzz]

Input: n = 19
Output: [1 2 Fizz 4 Buzz Fizz 7 8 Fizz Buzz 11 Fizz 13 14 FizzBuzz 16 17 Fizz 19 Buzz]

Approach:

Iterate on the given number from 1 to n, check its divisibility and add the string into result according to the given condition.

  • Initialize an empty result list.
  • Iterate on the given number from 1 to n
    • For every number, if it is divisible by both 3 and 5, add FizzBuzz to the result list.
    • Else, Check if the number is divisible by 3, add Fizz.
    • Else, Check if the number is divisible by 5, add Buzz.
    • Else, add the number by converting it to string.
  • Print the result.

Below is the implementation of the above approach:

C++




#include <bits/stdc++.h>
using namespace std;
 
vector<string> fizzBuzz(int n)
{
    // Declare a vector of strings to store the results
    vector<string> result;
 
    // Loop from 1 to n (inclusive)
    for (int i = 1; i <= n; ++i) {
 
        // Check if i is divisible by both 3 and 5
        if (i % 3 == 0 && i % 5 == 0) {
 
            // Add "FizzBuzz" to the result vector
            result.push_back("FizzBuzz");
        }
 
        // Check if i is divisible by 3
        else if (i % 3 == 0) {
 
            // Add "Fizz" to the result vector
            result.push_back("Fizz");
        }
 
        // Check if i is divisible by 5
        else if (i % 5 == 0) {
 
            // Add "Buzz" to the result vector
            result.push_back("Buzz");
        }
        else {
 
            // Add the current number as a string to the
            // result vector
            result.push_back(to_string(i));
        }
    }
 
    // Return the result vector
    return result;
}
 
// Driver code
int main()
{
    int n = 20;
 
    // Call the fizzBuzz function to get the result
    vector<string> result = fizzBuzz(n);
 
    // Print the result
    for (const string& s : result) {
        cout << s << " ";
    }
 
    return 0;
}


Java




import java.util.ArrayList;
import java.util.List;
 
public class FizzBuzz {
    public static List<String> fizzBuzz(int n)
    {
        // Declare a list of strings to store the results
        List<String> result = new ArrayList<>();
 
        // Loop from 1 to n (inclusive)
        for (int i = 1; i <= n; ++i) {
           
            // Check if i is divisible by both 3 and 5
            if (i % 3 == 0 && i % 5 == 0) {
               
                // Add "FizzBuzz" to the result list
                result.add("FizzBuzz");
            }
           
            // Check if i is divisible by 3
            else if (i % 3 == 0) {
               
                // Add "Fizz" to the result list
                result.add("Fizz");
            }
           
            // Check if i is divisible by 5
            else if (i % 5 == 0) {
               
                // Add "Buzz" to the result list
                result.add("Buzz");
            }
            else {
               
                // Add the current number as a string to the
                // result list
                result.add(Integer.toString(i));
            }
        }
 
        // Return the result list
        return result;
    }
 
    public static void main(String[] args)
    {
        int n = 20;
 
        // Call the fizzBuzz function to get the result
        List<String> result = fizzBuzz(n);
 
        // Print the result
        for (String s : result) {
            System.out.print(s + " ");
        }
    }
}


Python




def fizz_buzz(n):
    # Declare a list of strings to store the results
    result = []
 
    # Loop from 1 to n (inclusive)
    for i in range(1, n + 1):
 
        # Check if i is divisible by both 3 and 5
        if i % 3 == 0 and i % 5 == 0:
 
            # Add "FizzBuzz" to the result list
            result.append("FizzBuzz")
 
        # Check if i is divisible by 3
        elif i % 3 == 0:
 
            # Add "Fizz" to the result list
            result.append("Fizz")
 
        # Check if i is divisible by 5
        elif i % 5 == 0:
 
            # Add "Buzz" to the result list
            result.append("Buzz")
        else:
 
            # Add the current number as a string to the
            # result list
            result.append(str(i))
 
    # Return the result list
    return result
 
 
# Driver code
n = 20
 
# Call the fizz_buzz function to get the result
result = fizz_buzz(n)
 
# Print the result
print(' '.join(result))


C#




using System;
using System.Collections.Generic;
 
class Program {
    static List<string> FizzBuzz(int n)
    {
        // Declare a list of strings to store the results
        List<string> result = new List<string>();
 
        // Loop from 1 to n (inclusive)
        for (int i = 1; i <= n; ++i) {
            // Check if i is divisible by both 3 and 5
            if (i % 3 == 0 && i % 5 == 0) {
                // Add "FizzBuzz" to the result list
                result.Add("FizzBuzz");
            }
            // Check if i is divisible by 3
            else if (i % 3 == 0) {
                // Add "Fizz" to the result list
                result.Add("Fizz");
            }
            // Check if i is divisible by 5
            else if (i % 5 == 0) {
                // Add "Buzz" to the result list
                result.Add("Buzz");
            }
            else {
                // Add the current number as a string to the
                // result list
                result.Add(i.ToString());
            }
        }
 
        // Return the result list
        return result;
    }
 
    static void Main(string[] args)
    {
        int n = 20;
 
        // Call the FizzBuzz function to get the result
        List<string> result = FizzBuzz(n);
 
        // Print the result
        foreach(string s in result)
        {
            Console.Write(s + " ");
        }
    }
}


Javascript




function fizzBuzz(n) {
    // Declare an array to store the results
    let result = [];
 
    // Loop from 1 to n (inclusive)
    for (let i = 1; i <= n; ++i) {
     
        // Check if i is divisible by both 3 and 5
        if (i % 3 === 0 && i % 5 === 0) {
         
            // Add "FizzBuzz" to the result array
            result.push("FizzBuzz");
        }
         
        // Check if i is divisible by 3
        else if (i % 3 === 0) {
         
            // Add "Fizz" to the result array
            result.push("Fizz");
        }
         
        // Check if i is divisible by 5
        else if (i % 5 === 0) {
         
            // Add "Buzz" to the result array
            result.push("Buzz");
        }
        else {
         
            // Add the current number as a string to the
            // result array
            result.push(i.toString());
        }
    }
 
    // Return the result array
    return result;
}
 
// Driver code
let n = 20;
 
// Call the fizzBuzz function to get the result
let result = fizzBuzz(n);
 
// Print the result
console.log(result.join(' '));


Output

1 2 Fizz 4 Buzz Fizz 7 8 Fizz Buzz 11 Fizz 13 14 FizzBuzz 16 17 Fizz 19 Buzz 

Time Complexity: O(N)
Auxiliary Space: O(1)

Feeling lost in the world of random DSA topics, wasting time without progress? It’s time for a change! Join our DSA course, where we’ll guide you on an exciting journey to master DSA efficiently and on schedule.
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 neveropen!

RELATED ARTICLES

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Most Popular

Recent Comments