Rectangular pseudo-fractal
APL, 25 chars/bytes*
{⍉⍣⍵⊃{a,⍺⍴⍨⍴a←⍉⍪⍵}/⌽⍵↑⎕A}
Exploded view
{ ⍵↑⎕A} ⍝ take the first ⍵ letters
⊃{ }/⌽ ⍝ fold over them, using the first one as initial accum. value
a←⍉⍪⍵ ⍝ ensure the accum. is a table, transpose it and call it 'a'
⍺⍴⍨⍴ ⍝ make a table as large as 'a' filled with the next letter
a, ⍝ append it to the right of 'a' and loop as new accumulator
⍉⍣⍵ ⍝ transpose the result as many times as the original ⍵ number
Examples
{⍉⍣⍵⊃{a,⍺⍴⍨⍴a←⍉⍪⍵}/⌽⍵↑⎕A}¨⍳8
A AB AB ABDD ABDD ABDDFFFF ABDDFFFF ABDDFFFFHHHHHHHH
CC CCDD CCDD CCDDFFFF CCDDFFFF CCDDFFFFHHHHHHHH
EEEE EEEEFFFF EEEEFFFF EEEEFFFFHHHHHHHH
EEEE EEEEFFFF EEEEFFFF EEEEFFFFHHHHHHHH
GGGGGGGG GGGGGGGGHHHHHHHH
GGGGGGGG GGGGGGGGHHHHHHHH
GGGGGGGG GGGGGGGGHHHHHHHH
GGGGGGGG GGGGGGGGHHHHHHHH
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
*: APL can be written in its own (legacy) single-byte charset that maps APL symbols to the upper 128 byte values. Therefore, for the purpose of scoring, a program of N chars that only uses ASCII characters and APL symbols can be considered to be N bytes long.
GolfScript, 30 characters
~(,[0`]{{[49+]1$,*+}+%zip}@/n*
Example (run online):
> 7
01335555
22335555
44445555
44445555
66666666
66666666
66666666
66666666
Python 2.7 - 85 103
This uses the zip(*s)
syntax to continually transpose the list. Big thanks to Daniel for his tip that shaved 12 characters! Then shaved a few more by using numbers instead of letters.
s=[]
for i in range(input()):x=1<<i/2;s=zip(*s+[chr(65+i)*x]*x)
for i in s:print''.join(i)
Also, this uses 1<<x
rather than 2**x
as bit shift has lower(?) precedence. Observe:
>>> 1<<(2*3)
64
>>> 1<<2*3
64
>>> 2**2*3
12
>>> 2**(2*3)
64
And some output:
10
01335555777777779999999999999999
22335555777777779999999999999999
44445555777777779999999999999999
44445555777777779999999999999999
66666666777777779999999999999999
66666666777777779999999999999999
66666666777777779999999999999999
66666666777777779999999999999999
88888888888888889999999999999999
88888888888888889999999999999999
88888888888888889999999999999999
88888888888888889999999999999999
88888888888888889999999999999999
88888888888888889999999999999999
88888888888888889999999999999999
88888888888888889999999999999999