Generate the Temple Skyline Sequence
CJam, 25 23 22 bytes
ri1e>2be`z($W%a\+ze~2b
Just a bit of run-length encoding. -1 thanks to @MartinBüttner.
Try it online / Test suite.
Explanation
ri Read n from input as int
1e> Take max with 1 (special case for n = 0)
2b Convert n to binary
e` Run length encode
z Zip, giving a pair [<counts> <10101.. array>]
($W% Drop the counts array and sort decending
a\+z Add it back to the 10101.. array and re-zip
e~ Run length decode
2b Convert from binary
Pyth - 21 20 bytes
Thanks to @sok for saving me one byte!
is.em%hk2hb_Sr.BQ8 2
Try it here online.
Python 2, 121 bytes 125
121: Thanks to Sp3000 for shaving off 4 bytes!
import re;print int("".join(n*`~i%2`for i,n in enumerate(sorted(map(len,re.split('(1*|0+)',bin(input())[2:])))[::-1])),2)
125
import re;print int("".join("10"[i%2]*n for i,n in enumerate(sorted(map(len,re.split('(1*|0+)',bin(input())[2:])))[::-1])),2)