
Сообщение от
Reobne
krt17, в каждой следующей матрице в 4 раза больше чисел. Напрашивается не 2 в степени, а 4^(n-1).
число столбцов/строк 2^n (n=2...), число элементов будет (2^n)*(2^n)=2^(2n)=4^n зачем делить еще на 4 я не очень понял.
Для случая n=3 число строк/столбцов будет 2^3=8 элементов 4^3=64
n=4 - 16, 256
видимо у тебя n немного другое обозначает.
Внезапно на подобной хрене возможен многомерный детеринг 
add
так да стоп я что то упустил. Сейчас шлифанем.
- - - Добавлено - - -
Все верно Reobne, был прав, я затупил
правильная формула:
e(n,x,y)=e(n-1,x div 2,y div 2)+e(1,x mod 2,y mod 2)*4^(n-1)
e(n,x,y)=e(n-1,x div r,y div r)+e(1,x mod r,y mod r)*r^2(n-1)
- - - Добавлено - - -
Ну и до кучи Lua демо
Код:
function elem(n,y,x)
--print (n,y,x)
if n==1 then return pattern[y+1][x+1]
else return elem(n-1,math.floor(y/2),math.floor(x/2))+elem(1,y%2,x%2)*4^(n-1)
end
end
pattern={{3,1},{0,2}}
cur=3
for y=0,2^cur-1 do
io.write (y.."\t")
for x=0,2^cur-1 do
io.write (elem(cur,y,x).."\t")
end
io.write ("\n")
end