Find if a number is divisible by 3 or 5 (FizzBuzz)

Corey Blinks picture Corey Blinks · Jun 29, 2015 · Viewed 16.4k times · Source

How do I change the output depending on whether or not it is divisible by 3 or 5? If it is divisible by 3, I want to show "rock" and if it's divisible by 5 I want to show "star" (similar to in FizzBuzz). If both, they'll see both.

Here's my code:

if (var n = Math.floor((Math.random() * 1000) + 1); {
  var output = "";
  if (n % 3 == 0)
    output += "Rock";
  if (n % 5 == 0)
    output += "star";
  prompt(output || n);
}

Why isn't my code working properly?

Answer

Burning Crystals picture Burning Crystals · Jun 29, 2015

var n = Math.floor((Math.random() * 1000) + 1);
if (n) {
  var output = "";
  if (n % 3 == 0)
    output += "Rock";
  if (n % 5 == 0)
    output += "star";
  prompt(output || n);
}

The var inside the if statement is a syntax error. My browser shows this error:

SyntaxError: expected expression, got keyword 'var'

So I think you should declare variable n before telling the if statement that var n is your comparison expression.