#!/usr/bin/python3 def f(r,i,j): q = 2**r n = 2*q # Okraj if i == 0 or i == n or j == 0 or j == n: return 0 # Tunely a závaly v nich if i == q or j == q: if j == 1 or j == n-1 or i == q+1: return 1 else: return 0 # Rekurze na kvadrant if i < q: if j < q: # Levý horní return f(r-1, j, q-i) else: # Pravý horní return f(r-1, n-j, i) else: if j < q: # Levý dolní return f(r-1, i-q, j) else: # Pravý dolní return f(r-1, i-q, j-q) # Kreslíme! r = 5 n = 2**(r+1) + 1 policka = " #" for i in range(n): for j in range(n): print(policka[f(r,i,j)], end="") print()