Обратная Пирамида
Здравствуйте!
Подскажите пожалуйста правильную мысль, на кодеварс есть элементарная задача, но я ее не могу догнать))) Нужно построить обратную пирамиду: 123456789010987654321 1234567890987654321 12345678987654321 123456787654321 1234567654321 12345654321 123454321 1234321 12321 121 1 Вот то, что есть на данный момент: function getADownArrowOf(n) { for (var i = n; i >= 1; i--){ for (var j = n; j>=1 ; j--) { console.log(j); } } } getADownArrowOf(5); Заранее оч. Благодарен! |
hbsv,
как-то так ... :) <script> function getADownArrowOf(n) { for (var i = n; i >= 1; i -= 2) { var a = ""; for (var j = 0; j <= i / 2; j++) a += (j + 1) % 10; for (var j = i / 2 | 0; j--;) a += (j + 1) % 10; document.write(a + "<br>") } }; getADownArrowOf(33); </script> |
nodequest,
123456789101987654321 - лишняя единица |
hhh,
спасибо, пофиксил |
hhh,
Вообще, я не то, написал, у него там какие то нули пошли дальше, я не догоняю нифига. Ну его нафиг это числодрочерство, не мое это:) |
Спасибо, буду знать где рыть дальше ))
|
А как сделать, что бы при вводе значения (n) выводило колл-во строк?
т.е. чтоб соответствовало проверке: Test.assertEquals(getADownArrowOf(1), "1"); Test.assertEquals(getADownArrowOf(3), "12321\n 121\n 1"); Test.assertEquals(getADownArrowOf(5), "123454321\n 1234321\n 12321\n 121\n 1"); Т.к. при значении (n) - 3 выводит две строки. Спасибо большое! |
hbsv,
<script> function getADownArrowOf(n) { var c = []; for (var i = n*2-1; i >= 1; i -= 2) { var a = ""; for (var j = 0; j <= i / 2; j++) a += (j + 1) % 10; for (var j = i / 2 | 0; j--;) a += (j + 1) % 10; c.push(a) } return c }; document.write(getADownArrowOf(1)+"<br>"); document.write(getADownArrowOf(3)+"<br>"); document.write(getADownArrowOf(5)+"<br>"); document.write(getADownArrowOf(7)+"<br>"); </script> |
Часовой пояс GMT +3, время: 10:28. |