Kirolles Atef
Kirolles Atef

Reputation: 23

I can't get the output right

for (var j = 1; j <= 10; j++) {
    for (var i = 10; i >= j; i--) {
        document.write(i * 10 + ' ')
    }
    document.write('<BR>');
}

I've been trying to get this output:

100 90 80 70 50 40 30 20 10 
-----------------
90 90 70 60 50 40 30 20 10 
-----------------
80 70 60 50 40 30 20 10 
-----------------
70 60 50 40 30 20 10 
-----------------
60 50 40 30 20 10 
-----------------
50 40 30 20 10 
-----------------
40 30 20 10 
-----------------
30 20 10
-----------------
20 10
-----------------
10
-----------------

But all that i get is this:

100 90 80 70 60 50 40 30 20 10 
-----------------
100 90 80 70 60 50 40 30 20 
-----------------
100 90 80 70 60 50 40 30  
-----------------
100 90 80 70 60 50 40 
-----------------
100 90 80 70 60 50 
-----------------
100 90 80 70 60 
-----------------
100 90 80 70 
-----------------
100 90 80
-----------------
100 90
-----------------
100
-----------------

Please help.

Upvotes: 2

Views: 95

Answers (4)

captainsac
captainsac

Reputation: 2490

Try this

      var k= 10;
	  for (var j = 1; j <= 10; j++) {
			for (var i = k; i >0; i--) {
				document.write(i * 10 + ' ')
			}
			document.write('<BR>');
			k--;
		}

Upvotes: 0

Vijay
Vijay

Reputation: 3023

 for (var j = 10; j >= 1; --j) {
     for (var i = j * 10; i >= 10; i -= 10) {
         document.write(i + ' ')
     }
     document.write('<BR>');
 }

Reverse loop is best fit in your case to improve understandability & performance.

Upvotes: 9

Zealous System
Zealous System

Reputation: 2324

Try this.

 for ( var i = 1; i <= 10; i++) {
        for ( var j = 11; j >i; j--) {
            document.write((j-i) * 10 + ' ');
        }
        document.write('<BR>');
    }

Upvotes: 1

Rakesh_Kumar
Rakesh_Kumar

Reputation: 1442

You can do like below:

for(j=100;j>=10;j-=10){
  for(i=j;i>=10; i-=10){
    document.write(i + ' ');
  }
  document.write('<BR>');
}

Upvotes: 0

Related Questions