 <p>You have the correct number of dashes, you just aren't printing out the number correctly. Let's examine why that is:</p> <p>Which loop prints out the numbers? The 2nd nested for loop.</p> <p>What does it do? It prints out <code>j</code> where <code>j</code> ranges from <code>1</code> to <code>9</code> and <code>j</code> is incremented by 2 each iteration of the loop. In other words, <code>1, 3, 5, 7, 9</code>, which is confirmed in your output</p> <p>What do you want it to do? Well let's look at the desired output. You want <code>1</code> to be printed <em>once</em> on the <s><em>first</em></s> first line. You want <code>3</code> to be printed <em>three</em> times on the <s><em>third</em></s> next line. You want <code>5</code> to be printed <em>five</em> times on the <s><em>fifth</em></s> next line after that. And so on.</p> <p>Do you notice a pattern? You want that loop we mentioned above to print the <em>same</em> number (<code>1</code>, <code>3</code>, <code>5</code>, ... <code>i</code>) as the number of times (<code>1</code>, <code>3</code>, <code>5</code>, ... <code>i</code>).</p> <p><strong>edit</strong> Whooops I actually misread the output. My answer is still very similar to before, but I lied about which line you are printing what. It's still <code>3</code> <em>three</em> times, <code>5</code> <em>five</em> times but different lines. The easiest way to jump from my solution to the actual one is to notice that on the even lines... you do nothing. You could arguably even write your solution this way.</p> <p>Another tip is that you should just focus on getting the numbers on each line right and the dashes separately. It's likely that you'll screw up the number of dashes when you fix the numbers on each line, but then you'll realize how to fix the dashes easily.</p>