Skip to main content
4 of 13
added 53 characters in body
Olivier Grégoire
  • 14.5k
  • 3
  • 33
  • 56

Java (OpenJDK 9), 178 bytes

n->{int s=(int)Math.pow(3,n),i=s*s,H[][]=new int[s][s];for(;i-->0;)H[i/s][i%s]=h(s,i/s,i%s);return H;} int h(int s,int x,int y){return s>3?h(s/=3,x/3,y/3)&h(s,x%s,y%s):++y%2|x%2;} 

Try it online!

Returns an int[][] with 1 for H and 0 for space.

Olivier Grégoire
  • 14.5k
  • 3
  • 33
  • 56