Chapter 2 Exercises

  1. Looping a triangle:
    var output = " ";
    var size = 7;
    for(var row = 1; row <= size; row++){
    for(var column = 1; column <= size; column++){
    if(column < row)
    console.log(output += “*”);
    }
    console.log(output += “\n”);
    }

  2. Fizz Buzz:
    for(var i = 1;i <= 100; i++){
    var Output= “”;
    if((i % 3 == 0) && (i % 5 == 0)) {Output += “Fizz Buzz”}
    if((i % 3 == 0) && (i % 5 != 0)) {Output += “Fizz”}
    if((i % 5 == 0) && (i % 3 != 0)) {Output += “Buzz”}
    if(Output == “”) {Output = i}
    console.log(Output);
    }

  3. Chess Board:
    var size = 8;
    var Output = " ";
    for(var row = 1; row <=8; row++){
    while (row <= size){
    var column = 1;
    while (column <= size){
    if((column + row) % 2 == 0){
    Output += " ";
    } else{
    Output += “#”;
    }
    column += 1;
    }
    Output += “\n”;
    row += 1;
    }
    }
    console.log(Output);

1 Like

triangle loop

var num_rows = 7;
for(var row = 0; row < num_rows; row++){
var toPrint = “#”;
for(var column =0; column<row; column++){
toPrint += “#”;
}
console.log(toPrint);
}

fizzbuzz loop

for (var num = 1; num <=100; num++){
var output = num;

if (num % 3 === 0 ) {
output = “fizz” ;
}
if (num % 5 === 0 ){
output = “buzz”;
}
if (num % 3 === 0 && num % 5 ===0){
output = “fizzbuzz”;
}
console.log(output);

}

chessboard

let size = 8;

let board = “”;

for (let y = 0; y < size; y++) {
for (let x = 0; x < size; x++) {
if ((x + y) % 2 == 0) {
board += " ";
} else {
board += “#”;
}
}
board += “\n”;
}

console.log(board);

1 Like

My versions are longer than the answers, still I managed to get the outputs right:

1:
var a = “#”;
while(a.length < 8) {
console.log(a);
// console.log("
");
a = a + “#”;
}

2:
for (var b = 1; b < 101; b = b + 1) {
if (b % 3 == 0 && b % 5 == 0) {
console.log(“Fizzbuzz”);
}
else if (b % 3 == 0) {
console.log(“Fizz”);
}
else if (b % 5 == 0) {
console.log(“Buzz”);
}
else {
console.log(b);
}
}

3:
var size = 8;
var x = “\xa0”;
var y = “#”;

for (var row = 0; row < size; row = row + 1) {
if (row % 2) {
var str = “”;
for (var a = 0; a < size; a = a + 1) {
if (a % 2) {
str = str + x;
}
else {
str = str + y;
}
}
}
else {
var str = “”;
for (var b = 0; b < size; b = b + 1)
if (b % 2) {
str = str + y;
}
else {
str = str + x;
}
}
console.log(str)
}

javedkhalil,
I am intrigued with your coding for FizzBuzz considering the number 15 in the initial set up since 3 and 5 come together at number 15 (3 x 5 =15), and is less than 100. And also, 30, 45, 60, 75, 90, and not past 100 wherein the loop would stop since 105 is greater than 100. Since these numbers were not presented in the initial discussion of the assignment, I wondered if it would be confusing to follow. Using the information given was clearer for me. It took me awhile because I had noticed % 15 in more than 1 answer by others. I haven’t worked with it yet. Does the code work when you reduce 100 to 10? (both 3 and 5 are < 10 and meet the criteria of <= 100. It might work as well? I look forward to trying your FizzBuzz Loop for fun. It is fascinating how this coding works. Thank you,
Lorraine

for(var i=1; i<=100; i++) {

if( i%3 == 0 && i%5 == 0 ) {

console.log("FizzBuzz");

}

else if( i%3 == 0 ) {

console.log("Fizz");

}

else if( i%5 == 0 ) {

console.log("Buzz");

}

else {

  <console.log(i);

  

}

}Preformatted text

Looping Triangle

var num_rows = 7;
for(var row = 0; row<num_rows; row++) {
var toPrint = “#”;
for(var column = 0; column<row; column++) {
toPrint += “#”;
}
console.log(toPrint);
}

FizzBuzz

for(let n = 1; n<=100; n++){
let output = “”
if (n%3==0) output = “Fizz”;
if (n%5==0) output = “Buzz”;
if (n%3==0 && n%5 ==0) output = “FizzBuzz”
else {console.log (n);}

Chessboard

let size = 8
let grid = “”
for (let x = 0; x<size; x++){

1 Like

Triangle loop

var num_rows = 7;
for (var row=0; row < num_rows; row++){
var toPrint = “#”;

      for (var column = 0; column<row; column++){
          toPrint +="#";
      }
      console.log(toPrint);
  }

Fizzbuzz

for(var j = 1; j <= 100; j ++){

  if(j % 3 == 0 && j % 5 == 0){
    console.log("Buzz");
  } else if(j % 3 == 0){
    console.log("Fizz");
  } else {
    console.log(j);
  }
}

Chess Board Loop

var num_rows = 8;
for (var row=0; row < num_rows; row++){
var toPrint = “#”;

      if(row % 2 || 0){
          toPrint = " # # # #";
      } else {
          toPrint = "# # # #";
      }
      console.log(toPrint);
  }
2 Likes
for (let number = "#"; number.length <= 7; number = number +"#") {
  console.log(number);
}
for (let buzzer = 1; buzzer <= 100 ; buzzer = buzzer + 1) {

if (buzzer % 3 == 0 && buzzer % 5 == 0)
{console.log('FiZzBuZz');} 

else if (buzzer % 3  == 0) {
   console.log('FIZZ');}

else if (buzzer % 5  == 0) {
console.log('BUZZ');} 

else {console.log(buzzer);}}
let field = '';
let size = 8;

for( let x= 0; x<=size; x++) {

for(let y=0; y<=size; y++) {

if ((x + y) % 2 == 0 )

{field+= ' ' ;

}

else {

field+= '#' }

}

field += '\n';

}
1 Like

Now it should it be correct. Didn’t know you can part them with the three ` thanks for that @Malik

1 Like

I wrote my code this way, and it differs from the textbook answer even thou the results are the same. Is there anything wrong with this?

for (a=1; a <=100; a++){

  if(a%3 ==0 && a%5 !==0){
    console.log("Fizz");
  }
  else if(a%5 ==0 && a%3 !==0){
    console.log("Buzz");
  }
  else if(a%3==0 && a%5==0){
    console.log("FizzBuzz");
  }
  else console.log(a);

}


/* Textbook solution

for (let n = 1; n <= 100; n++) {
  let output = "";
  if (n % 3 == 0) output += "Fizz";
  if (n % 5 == 0) output += "Buzz";
  console.log(output || n);
}

*/

3 Likes

This answer is fine as well.

Happy Learning! :slight_smile:

1 Like

Great Exercises!
Please let me know what you think about my approach.
Don’t see anyone else using this approach but it works.

Here is my code:

    <script>

    //Triangle
    var rowLength = 7;
    for(row = 0; row < rowLength; row++){
      var toPrint = "#";
      for(column = 0; column<row; column++) {
        toPrint += "#";
      }
      console.log(toPrint);
    }
//FIZZBUZZ
      for(let counter = 1; counter <= 100; counter++){

        if(counter % 5 === 0 && counter % 3 ===0){
          console.log("fizzbuzz");
        }

        if(counter % 3 === 0 && counter % 5 !== 0){
          console.log("fizz");
        }
        if(counter % 5 === 0 && counter % 3 !== 0){
          console.log("buzz");
        }

          else if(counter % 5 !== 0 && counter % 3 !== 0){

            console.log(counter);
}

      }

      //chessboard
      var rows = 8;
//Change var rows to change row length chessboard
      for(row = 0; row < rows; row++){
        if(row % 2 === 0){
          var multiStr = "# ".repeat(8/2);
//Change First number after repeat to change column length chessboard(part1/2)
           console.log(multiStr);
        }
        else if(row % 2 !== 0){
          var multiStrTwo = " #".repeat(8/2);
//Change First number after repeat to change column length chessboard(part2/2)
            console.log(multiStrTwo);
        }

      }


    </script>
1 Like

Looping triangle:
for(var count = 0; count<7; count = count + +){
var toPrint = “#”;
}
for(var counter = 0; counter<7; counter = counter++){
toPrint += “#”;
}
console.log(toPrint);
}

Fizz buzz:
for(var x=1;x<100;x++){
if(x%3==0 && x%5==0) console.log(“FizzBuzz”);
else if(x%3=0 && x%5==0)console.log(“Fizz”);
else if(x%3==0 && x%5=0)console.log(“Buzz”);
else console.log(x);
}

Chessboard:
for(var count=1;count<9;count++){
if(count%2=1)console.log(" ####");
else console.log("####")
}

1 Like

Triangle Loop
var num_rows = 7;
for(var row = 0; row < num_rows; row++){
var toPrint = “#”;
for(var column =0; column<row; column++){
toPrint += “#”;
}
document.write(toPrint + “
”);
}

FizzBazz

for (var i=1; i < 100; i++){

if (i % 15 == 0) document.write("FizzBuzz
");

else if (i % 3 == 0) document.write("Fizz
");

 else if (i % 5 == 0) document.write("Buzz <br>");

      else document.write(i + "<br>");
    }

ChessBoard
var hash = ‘’
var size = 8

for (var i = 0; i < size; i++) {
for (var j = 0; j < size; j++) {
(i + j) % 2 ? hash += ‘#’: hash += ’ ’
}
hash += ‘\n’
}
console.log(hash)

1 Like
  <script>
  // Looping triangle
   let result = "";

   for (i = 1; i <=7; i++) {
      result = result += "#";
      console.log(result);
   };
  </script>
  <script>
  // Fizzbuzz
  for(numbers = 0; numbers < 101; numbers++) {
    if(numbers % 3 == 0) {
      console.log("Fizz");
    }
    if(numbers % 5 == 0){
      console.log("Buzz");
    }
    if(numbers % 3 == 0 && numbers % 5 == 0) {
      console.log("FizzBuzz");
    }
    // Print all other numbers 
    else if(numbers % 2 == 0 || numbers % 7 == 0) {
      console.log(numbers);
    }
  };
   </script>
   <script>
   // Chessboard
    var result = "";

    // create rows
    for(var row = 0; row < 8; row ++) {
        // create colummns
        for(var column = 0; column < 8; column++) {
          if ((row + column) % 2 == 0) {
            result += " ";
          }
          else {
            result += "#";
          }
        }
        // add new line
        result += '\n';
        }
    console.log(result);
    </script>
1 Like

Looping a Triangle

    num_rows = 7;

    for(row = 0; row < num_rows; row++){
      var toPrint = "#";
      for(var column = 0; column<row; column++){
        toPrint += "#";
      }
      console.log(toPrint);
    }

FizzBuzz - I did this two ways - I think the second way is more efficient since it doesn’t involve overwriting a variable.
1.

      for(i=1;i<=100;i++){
      toPrint = i;
      if(toPrint%3 == 0 && toPrint%5 ==0){
        toPrint = "FizzBuzz";
      }
      else if(toPrint%3 ==0){
        toPrint = "Fizz";
      }
      else if(toPrint%5 == 0){
        toPrint = "Buzz";
      }
      console.log(toPrint);
    }
    for(i=1;i<=100;i++){

      if(i%3 == 0 && i%5 ==0){
        console.log("FizzBuzz");
      }
      else if(i%3 ==0){
        console.log("Fizz");
      }
      else if(i%5 == 0){
        console.log("Buzz");
      }
      else console.log(i);

    }

Chessboard

    var grid_size = 8;
    var toPrint = "";
    var space = true;

    for(cols = 0; cols<grid_size; cols++ ) {
      toPrint += "# ";
    }
    for(rows=0; rows<grid_size; rows++ ) {
      if(space == true){
        console.log(" " + toPrint);
        space = false;
      }
      else{
        console.log(toPrint);
        space = true;
      }
    }
2 Likes

_triangleLoop //
// I did the asterisk version, but this is funnier. Modded from Ivan’s solution

var num_rows = 7;
for(r = 0; r<num_rows; r++)
{var hashTag = "lol"; for (c=0; c<r; c++)

    {hashTag += "ol"}

console.log(hashTag);
}

lol
lolol
lololol
lolololol
lololololol
lolololololol
lololololololol

_fizzBuzzChallenge
// I did this one w/o peekin @ answers!!! I’m so proud of myself lol.

for(n=1; n<101; n++){
    if((n%3===0)&&(n%5===0)){
      console.log("fizzBuzz")
    }
    else if(n%3===0){
      console.log("fizz")
    }
    else if (n%5===0){
      console.log("buzz")
    }
    console.log(n)
   }

_chessBoardChallenge
// this one only works for even numbers. I hadda look at the solution to find the answer for code that works for even && odd numbers. This is as far as I got before peekin @ the answer:

var size = 32
var num_rows = size;
var even = "#";
var odd = " ";
for(r = 0; r<num_rows; r++){
    if (r%2==0){
    console.log((even+odd).repeat(size/2));
    }   
    else {
    console.log((odd+even).repeat(size/2))
    }
}

@LORDKALVIN

2 Likes

I like ur approach Gos

1 Like

Looping a Triangle

function makeLine(length){
var line = “”;
for (var j = 1; j <= length; j++){
line += "# ";
}
return line + “\n”;
}
function buildTriangle(x){
var triangle = ‘’;
for (t = 1; t <= x; t++){
triangle += makeLine(t);
}
return triangle;
}
console.log(buildTriangle(7));

FizzBuzz
(I did a bit extra and added some HTML and a style sheet)

function FizzBuzzA(value1, value2){
let returnValue = “”;
for(let i = 1;i<=100;i++){
if(i%value1==0 && i%value2==0){
returnValue += 'FizzBuzz ';
}
else if (i%value1 == 0){
returnValue += 'Fizz ';
}
else if (i%value2 == 0){
returnValue += 'Buzz ';
}
else{
returnValue += i + ’ ';
}
}
return returnValue;
}

(I haven’t included the index.html code and style.css)

Chessboard

// create a size variable, set = to 8
let size = 8;
// create an empty string results
let result = ’ ';
// loop to create rows
let row = 1;
while (row <= size){
// loop to create columns
let column = 1;
while (column <= size){
// if column plus row is even
if((column + row) % 2 === 0){
// add and empty space
result += " ";
//else
} else {
// and an octothorpe #
result += “#”;
}
column += 1;
}
// add a newline symbol to end current
result += ‘\n’;
row += 1;
}
//log string to the console
console.log(result);

1 Like

Looping Triangles
var number = 7;
for (var count = 1; count<=rows; count++){
var toPrint = “”;
var i=0; while (i<count) { toPrint += “#”; i++;
}
console.log (toPrint);

Fizz Buzz solution:

for (var a =1; a<101; a++){
var output="";
if(a%3==0){output +=“fizzz”;}
if(a%5==0){output +=“buzzz”;}
console.log(output||a);
}

Chessboard Solution

let size =8;
let result = ’ ';
let row = 1;
while (row <= size) {
let column = 1;
while (column <= size) {
if((column + row) % 2 === 0) {
result +=" ";
} else {
result += “#”;
}
column += 1;
}
result += ‘\n’;
row +=1;
}
console.log (toPrint);

1 Like