Chapter 2 Exercises

This was hard!! It took me days!

TRIANGLE LOOP

let character = " ";
let counter = 0;

  while(counter<9){
    character += " # ";
      counter++;
      console.log(character);
  }

FIZZBUZ

for (num =0; num<101; num++) {

    if((num%15)==0) {
      console.log("FizzBuzz");

    } else if ((num%3)==0){
      console.log("Fizz");

    } else if ((num%5)==0) {
      console.log ("Buzz");

    } else {console.log(num);

}
}

CHESSBOARD

let size = 8;
let result = " ";

  let rows = 1;
  while(rows<=size) {

    let column = 1;
    while(column<=size) {
      //if column plus row is even
      if((column + rows) % 2 === 0){
        //add an empty space
        result += " ";
      }  else {
        //else add an #
        result += "#"
      }
      column ++;
    }
    //add a newline symbol to end each rows
    result += "\n";
    rows++;
  }
  console.log(result);
2 Likes

Learning number ONE (for myself to remember): never ever pause your programming excercises for 2 weeks - you’ll have to lose half a day to understand what you did 2 weeks before :wink:
Learning number TWO: there are millions of possibilities to create the same program (fascinating, isn’t it?)

Looping a triangle

for (toPrint="#";toPrint.length<8;toPrint=toPrint+"#")
{
console.log(toPrint);
}

FizzBuzz

for (let number=1; number<101; number++)
{
if (number%3==0 && number%5!=0)
{
console.log(“Fizz”);
}
else if (number%5==0 && number%3!=0)
{
console.log(“Buzz”);
}
else if (number%5!=0 && number%3!=0)
{
console.log(number);
}
else if (number%5==0 && number%3==0)
{
console.log(“Fizzbuzz”);
}
}

Chessboard

let white=" "
let black="#"
let number=(prompt(“how many lines?”));
let toprint=""

for(row=0;row<number;row++)
{
for(line=0;line<number;line++)
{
if(line%2==0 && line<number && row%2==0){
toprint=toprint+white;
}
else if(line%2!=0 && line<number && row%2==0){
toprint=toprint+black;
}
else if(line%2!=0 && line<number && row%2!=0){
toprint=toprint+white;
}
else if(line%2==0 && line<number && row%2!=0){
toprint=toprint+black;
}
}
toprint=toprint+"\n";
}
console.log(toprint);

2 Likes

Triangle Loops
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 number = 1; number < 101; number++) {
if (((number % 3) == 0) && ((number % 5) != 0)){
console.log("Fizz ! Number: " + number);
}
if (((number % 5) == 0) && ((number % 3) != 0)){
console.log("Buzz ! Number: " + number);
}
if (((number % 5) == 0) && ((number % 3) == 0)){
console.log("FizzBuzz ! Number: " + number);
continue;
}
console.log("Number: " + number);
}

ChessBoard

var column = 0;
var row = 0;
var stars = “”;
var size = 8;

for (row = 0; row < size; row++){
for (column = 0; column < size; column++){
if ((row % 2) == 0){
if ((column %2) == 0){
stars += “&nbsp”;
} else {
stars += “#”;
}
} else {
if ((column % 2) == 0){
stars += “#”;
} else {
stars += “&nbsp”;
}
}
}
document.write(stars + “
”);
stars = “”;
}

1 Like

after I finished. I had a look at the book answer which is very simpler as some technique I still never cover. However, my code did the same purpose for FizzBuzz
for ( var str= 1; str <=100 ; str++){if (str % 3 === 0 & str % 5 != 0){
console.log(“Fizz”)
}
else if (str % 5 === 0 & str % 3 !=0){
console.log(“Buzz”)
}
else if (str % 5 === 0 & str % 3 === 0) {
console.log(“FizzBuzz”)
}
else {console.log(str)}

}

1 Like

Looping the triangle:

let hash='#';

for(let i=1;i<=7;i++){
    console.log(hash)
        hash+='#'
    }

FizzBuzz:

for(let i = 0;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')
    }
    console.log(i)
}

Number 3 was too difficult for me to solve at this stage. I spent a lot of time on it and still could not crack it.
I watched some youtube tutorials eventually. Since I didn’t solve it myself I don’t feel like copying and pasting it here would be the right thing to do.

3 Likes

Looping Triangle and FizzBuzz went pretty well, but I ran into a chessboard wall. Had to get help to work that one out. Still don’t quite get all of it, but I’m working on it. So, I’ll only post the code I did on my own. Probably better ways, but I’m a newb, and it worked.

<h1>Looping A Triangle </h1>
            <script>
                for(a = 1; a <8; a++){
                    console.log("#".repeat(a));
                }
            </script>
<h1>FizzBuzz</h1>
            <script>
                for(b = 1; b <=100; b++){
                    if ( (b % 5 == 0) && (b % 3 == 0)){
                        console.log("FizzBuzz");
                    }    
                        else if ( b % 3 == 0 ){
                        console.log("Fizz");
                        }
                        else if ( (b % 5 == 0) && (b % 3 !==0 )){
                            console.log("Buzz");
                        }                        
                        else {
                        console.log(b);
                        }
                }
            </script>
1 Like

My code snippets following a bit of further research and thanks to other member’s contributions :slight_smile:

FizzBuz

for (var i=1; i <= 30; i++){
  if (i % 15 == 0) document.write("FizzBuzz <br>");
  else if (i % 3 == 0) document.write("Fizz <br>");
  else if (i % 5 == 0) document.write("Buzz <br>");
  else document.write(i + "<br>");
}

Chessboard
var size = 8;
var board = “”;
for (var y = 0; y < size; y++) {
for (var x = 0; x < size; x++) {
if ((x + y) % 2 == 0){
board += " ";
}
else{
board += “#”;
}
}
board += “
”;
}
document.write(board);

1 Like

Triangle

    let numRows = 7
    let toPrint = "#"
    for (let row = 0; row < numRows; row++) {
      console.log(toPrint)
      toPrint+="#"
    }

FizzBuzz

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

Chessboard

    let size = 8
    let chars = ""
    for(let row = 1; row <= size; row++) {
      for(let column = 1; column <= size; column++) {
        if(row % 2 == 1) {
          if(column % 2 == 1) {
            chars += " "
          } else {
            chars += "#"
          }
        } else {
          if(column % 2 == 1) {
            chars += "#"
          } else {
            chars += " "
          }
        }
      }
      chars += "\n"
    }
    console.log(chars);
2 Likes

Triangle and FizzBuzz went pretty well after some work. I really couldn’t figure out the chessboard. Even after looking at the solution it is still not 100% making sense. I will only post the first 2.

Triangle:
var num_row=7
for (var row=0; row<num_row; row ++) {
var toprint= “#”;
for (var column=0; column<row; column ++){
toprint += “#”; }
console.log(toprint);}

FizzBuzz

for (var i=1; i<101; i ++){
if (i% 15==0) console.log(“fizzbuzz”)
else if (i%3 ==0)console.log(“fizz”)
else if (i%5==0)console.log(“buzz”)
else console.log(i);
}

1 Like

Looping a triangle

let char = "#";

for (let i=0; i < 7; i++) {
	console.log(char);
	char+="#";
}

FizzBuzz

for (let i=1; i <= 100; i++){
	
	if (((i% 3) == 0) &&((i% 5) != 0)){
		//console.log("The number only divisible by 3 is: " + i);
		console.log("Fizz\n");
	}
	else if (((i% 5) == 0) &&((i% 3) != 0)){
		//console.log("The number only divisible by 5 is: " + i);
		console.log("Buzz\n");
	}
	else if (((i% 5) == 0) &&((i% 3) == 0)){
		//console.log("The number divisible by both 3 and 5 is: " + i);
		console.log("FizzBuzz\n");
	}
	else {
		console.log("Current number is: " + i);
	}
}

Chessboard
var rowId = 1;
var colId = 1;
var charToPrint = “”;
var rowStr = “”;

var gridSize = parseInt(prompt("Enter the grid size: "));

for (rowId = 1; rowId <= gridSize; rowId++){
for(colId = 1; colId <= gridSize; colId++){

	if ((rowId + colId)% 2 == 0){
		charToPrint = " ";
	}

	else {
		charToPrint = "#";
	}
	rowStr += charToPrint;
}
console.log(rowStr + "\n");
rowStr = "";

}

1 Like

Triangle:

let row = “#”
let number = 0;
while (number < 7) {
console.log(row);
number++;
row = row + “#”;
}

FizzBuzz

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

Chessboard - I had to get help for this, I got close but could not quite get it on my own

let length = 8;
let cb = ‘’;

let width = 1;
while (width <= length) {

let height =1;
while (height <= length) {
   if((width + height) % 2 == 0) {
    cb += " ";
   }

else {
cb += “#”;
}
height += 1;
}
cb += ‘\n’;
width += 1;
}
console.log(cb)

2 Likes

Looping

for (let loop = "#"; loop.length < 8; loop += "#") console.log(loop);

FizzBuzz

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

var output = ""

if(i % 3 == 0){output += "Fizz"}
if(i % 5 == 0){output += "Buzz"}

if(output == "" ){output = i}

console.log(output)
}

Chess board

let size = 8;
let print = "";
for (let row = 0; row < size; row++) {
   for (let col = 0; col < size; col++) {
     if ((row + col) % 2 == 0) {
      print += " ";
    } else {
      print += "#";
    }
  }
   print += "\n";
}
console.log(print);
1 Like

//triangle loop
let a = " " ;
for(let b = 0 ; b< 8 ; b++ ) {
a+="*" ;
console.log(a); }
//fizzbuzz
for(let num = 1 ; num <= 100 ; num ++ ) {
let out = " “;
if ( num % 3== 0) out += “fizz”;
if ( num % 5== 0 ) out += “buzz”;
console.log ( out || num ) ;
}
//the one i couldnt solve
let ass = 8 ;
let b= " “;
for(let c=0 ; c<ass ; c++) {
for(let d=0 ; d<ass; d++) {
if((d-c) % 2 == 0 ) { b+= " “;}
else{b+=”#”}}
b+=”\n";}
console.log(b);

1 Like

Triangle Loop

let stars = "";
let cnt = 0;
while (cnt < 9){
	console.log(stars);
	stars += "*";
	cnt++;}

FizzBuzz Loop

    let basenum = 1;
    while(basenum < 101){
      if((basenum%3 == 0) && (basenum%5 == 0)){
        console.log("FizzBuzz");
        basenum++;
      }
      else if (basenum%3 == 0) {
        console.log("Fizz");
        basenum++;
      }
      else if (basenum%5 == 0) {
        console.log("Buzz");
        basenum++;
      }
      else{console.log(basenum);
      basenum++;
      }
    }

ChessBoard Loop (couldn’t figure out binding size logic)

    let rowcnt = 0;
	let x = 4;
    while(rowcnt < 8){
      if(rowcnt%2 == 0){
        var evenrow = ' #'.repeat(x);
        console.log(evenrow);
        rowcnt++;
      }
      else{
		var oddrow = '# '.repeat(x);
        console.log(oddrow);
        rowcnt++;
      }
    }
1 Like

FizzBuzz

for (num = 1; num < 101; num++) {
if (num % 15 === 0) {
console.log(‘FizzBuzz’);
}
else if (num % 3 === 0) {
console.log (‘Fizz’);
}
else if (num % 5 === 0) {
console.log (‘Buzz’);
}
else {
console.log (num);
}
}

CheeseBoard

for ( let a = 0; a < 4; a++) {
let b = “”;
if (a % 1 ===0) {
console.log ("",’#’,’#’,’#’,’#’);
}
if (b % 1 ===0) {
console.log (’#’,’#’,’#’,’#’);
}
}

1 Like

Looping Triangle

    <script>
    for(var row = 0; row < 7; row++){
      var toPrint = "#";

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

    </script>

FizzBuzz Loop

    <script>

    for(let n=1; n<=100; 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");
    }

    else console.log(n);
    }

    </script>

Chessboard Loop

    <script>

      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(result);

    </script>
1 Like

Yooooooooooo!!! This exercise has officially made me LOVE THIS!!! I just had my aha moment. As an English major this is so much fun because it really is just a language. If you know the alphabet and the different parts of speech etc. then you can communicate effectively. I really feel like I can do this guys. Learning the specifics will still take lots of practice but I can definitely speak the language now. Thanks so much…really guys.

FIZZBUZZ
for (var i=1; i< 101; i++) { if (i %15==0) console.log(“Fizzbuzz”); else if (i %3 ==0) console.log(“fizz”); else if (i%5 ==0) console.log(“Buzz”); else console.log (i);}

So I started by knowing that the remainder symbol was going to come into play and the last video that showed us how to target specific numbers in the count was key. I just had to figure out how to say it. I will be honest and say I ultimately searched it out. (You did in fact say google is our friend. :slight_smile: ) But I didn’t just cut and paste. I really went into reading the individual statements to understand why they are where they are and why each semicolon is inserted or omitted. It really is pretty dope. I’m working on the Chessboard now. That will be a separate entry.

2 Likes

So i started from FuzzBuzz , because you already showed the triangle , soo after maybe a half of hour i realized that i can “else if” more than once which helped me a lot haha .

FuzzBuzz :
‘’
for (i = 0 ; i < 101 ; i++){

var checkforThree = i % 3 ;
var checkforFive = i % 5 ;

if( (checkforThree == 0) && (checkforFive == 0) ){
console.log(“FuzzBuzz”);
}

else if (checkforThree == 0){
console.log(“Fuzz”)
}

else if (checkforFive == 0){
console.log(“Buzz”)
}

else
console.log(i) ;

}

ChessBoard :

var board = “”;
for(var i = 0; i < 8; i++){
for(var a = 0; a < 8; a++){
board += (a % 2) == (i % 2) ? " " : “#”;
}
board += “\n”;
}

The ChessBoard really get me a headache. After a lot of tries i start looking in the google for some solutions and i get to this code. I understand everything in it but only “?” this question mark i dont what is for . So if someone can explain it will be great .
Thanks a lot ! Big love to the Academy !

2 Likes

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

console.log(board);

2 Likes

1). Triangle loop
Solution: Using for loop

for(var I = 0; i < 7; i++){
for(var j = 0; j <= i; j++){
console.log(“#”);
}
console.log(“\n”);
}

2). FizzBuzz loop

Solution:

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

3). Chessboard loop

var size = 8;
for(var y = 0; y < size; y++){
var line = " ";

for(var x = 0; x < size; x++){
line += (y + x + 1) % 2 ? " ": “#”;
}

console.log(line);
}

2 Likes