Показать сообщение отдельно
  #12 (permalink)  
Старый 27.10.2015, 19:35
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,127

laimas,
не очень понимаю как очень просто брать эти срезы
вариант решения
function matrix(c, d) {
    for (var g = [], a = 0; a < d * d; a += c) {
        for (var f = [], e = [], b = 0; b < c; b++) e.push(a + b + 1);
        f.push(e);
        for (b = 0; b < c - 1; b++) e = e.map(function(a) {
            return a + d
        }), f.push(e);
        g.push(f);
        !a || (a + c) % d || (a += d * (c - 1))
    }
    return g
};
alert(JSON.stringify(matrix(2,4)))// матрицу 4 на 4 разбить 2 на 2
alert(JSON.stringify(matrix(3,9)))//этоn же вариант и для матрицы 9 на 9 на 3 на 3 ... matrix(3,9)

Последний раз редактировалось рони, 27.10.2015 в 20:50.
Ответить с цитированием