Обратная Пирамида
Здравствуйте!
Подскажите пожалуйста правильную мысль, на кодеварс есть элементарная задача, но я ее не могу догнать))) Нужно построить обратную пирамиду: 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, время: 21:04. |