Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   непонятность с пирамидой (https://javascript.ru/forum/misc/67739-neponyatnost-s-piramidojj.html)

Dan7es 05.03.2017 19:30

непонятность с пирамидой
 
Имеется вот такой код
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;

console.log(a + "\n")

}

};

getADownArrowOf(5);

И выводит
12321
121
1
А хотелось бы чтобы при n=5 пирамидка выглядела
123454321
1234321
12321
121
1
Можете пояснить вот это a += (j + 1) % 10;
% это вроде остаток от деления, и почему на 10
И если есть ссылка на источник где можно поглядеть как сделать пирамидку обратную
Заранее спасибо.

Paguo-86PK 05.03.2017 22:15

function getDownArrowOf(n) {
    for(var i = n; i >= 1; -- i) {
        var a = "" + i;
        for(var j = i - 1; j >= 1; -- j)
            a = "" + j + a + j;
        console.log(" ".repeat(n - i) + a);
    }
}
function getUpArrowOf(n) {
    for(var i = n; i >= 1; -- i) {
        var a = "1";
        for(var j = 2; j <= i; ++ j)
            a = "" + j + a + j;
        console.log(" ".repeat(n - i) + a);
    }
}
getDownArrowOf(5);
getUpArrowOf(6);

Dan7es 05.03.2017 22:27

Большое спасибо,а как можно добавить пробелов чтобы выровнить треугольник, чтоб было похоже на равносторонний треугольник, а не на прямоугольный?

Paguo-86PK 05.03.2017 22:40

Перезапуститe пример выше

Dan7es 06.03.2017 08:46

Большое спасибо


Часовой пояс GMT +3, время: 02:59.