var
sizex = 10,
sizey = 10,
cur_pos = 35,
dist = 2,
list = [];
var
pos_x = (cur_pos - 1) % sizex,
pos_y = Math.floor((cur_pos - 1)/sizex);
var
start_x = (pos_x - dist >= 0) ? pos_x - dist : 0,
start_y = (pos_y - dist >= 0) ? pos_y - dist : 0,
end_x = (pos_x + dist < sizex) ? pos_x + dist : sizex - 1,
end_y = (pos_y + dist < sizey) ? pos_y + dist : sizey - 1;
for (var y = start_y; y <= end_y; y++) {
for (var x = start_x; x <= end_x; x++) {
list.push(y * sizex + x + 1);
}
}
console.log(list);
N = A + 3a
N = B + 4b
N = C + 5c
A = N - 3a
B = N - 4b
C = N - 5c
40A + 45B + 36C =
40(N - 3a) + 45(N - 4b) + 36(N - 5c) =
40N - 120a + 45N - 180b + 36N - 180c =
121N - 120a - 180b - 180c =
N + 120N - 120a - 180b - 180c