Skip to main content

Command Palette

Search for a command to run...

Problem Solving | Fizz Buzz Problem

Published
1 min read
Problem Solving | Fizz Buzz Problem
C

Developer, trying to understand, learn and teach better.

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)
}