Follow

Follow
Problem Solving | Fizz Buzz Problem

Problem Solving | Fizz Buzz Problem

Chirag Ramachandra's photo
Chirag Ramachandra
·Jan 10, 2021·

1 min read

Question:

Write a program that prints the numbers from 1 to n. 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"

Optimal Solution:

O(n)

function FizzBuzz(target) {
    for (var i = 1; i <=target; i++) {
        var result = "";
        if (i%3 === 0) result += "Fizz";        
        if (i%5 === 0) result += "Buzz";

        console.log(result || i);
    }
}

Even shorter version, using the same logic and ternary operators:

function FizzBuzz(target) {
for(let i=0;i<target;)console.log((++i%3?'':'fizz')+(i%5?'':'buzz')||i)
}
 
Share this