I thought this was a really cool exercise, and I'm glad I figured out a deterministic set of instructions. I took some time after class to translate these instructions into a python program, which I've included as follows:
def pattern(n):
if n == 1:
return 'D'
return rotate(pattern(n-1)) + "D" + pattern(n-1)
def rotate(pattern):
result = ''
for ch in pattern:
if ch == 'D':
result = 'U' + result
elif ch == 'U':
result = 'D' + result
return result
Program testing showed results that matched up with the originally recorded results:
>>> print(pattern(1))
D
>>> print(pattern(2))
UDD
p
>>> print(pattern(3))
UUDDUDD
>>> print(pattern(4))
UUDUUDDDUUDDUDD
>>> print(pattern(10))
UUDUUDDUUUDDUDDUUUDUUDDDUUDDUDDUUUDUUDDUUUDDUDDDUUDUUDDDUUDDUDDUUUDUUDDUUUDDUDDUUUDUUDDDUUDDUDDDUUDUUDDUUUDDUDDDUUDUUDDDUUDDUDDUUUDUUDDUUUDDUDDUUUDUUDDDUUDDUDDUUUDUUDDUUUDDUDDDUUDUUDDDUUDDUDDDUUDUUDDUUUDDUDDUUUDUUDDDUUDDUDDDUUDUUDDUUUDDUDDDUUDUUDDDUUDDUDDUUUDUUDDUUUDDUDDUUUDUUDDDUUDDUDDUUUDUUDDUUUDDUDDDUUDUUDDDUUDDUDDUUUDUUDDUUUDDUDDUUUDUUDDDUUDDUDDDUUDUUDDUUUDDUDDDUUDUUDDDUUDDUDDDUUDUUDDUUUDDUDDUUUDUUDDDUUDDUDDUUUDUUDDUUUDDUDDDUUDUUDDDUUDDUDDDUUDUUDDUUUDDUDDUUUDUUDDDUUDDUDDDUUDUUDDUUUDDUDDDUUDUUDDDUUDDUDDDUUDUUDDUUUDDUDDUUUDUUDDDUUDDUDDUUUDUUDDUUUDDUDDDUUDUUDDDUUDDUDDUUUDUUDDUUUDDUDDUUUDUUDDDUUDDUDDDUUDUUDDUUUDDUDDDUUDUUDDDUUDDUDDUUUDUUDDUUUDDUDDUUUDUUDDDUUDDUDDUUUDUUDDUUUDDUDDDUUDUUDDDUUDDUDDDUUDUUDDUUUDDUDDUUUDUUDDDUUDDUDDDUUDUUDDUUUDDUDDDUUDUUDDDUUDDUDDDUUDUUDDUUUDDUDDUUUDUUDDDUUDDUDDUUUDUUDDUUUDDUDDDUUDUUDDDUUDDUDDUUUDUUDDUUUDDUDDUUUDUUDDDUUDDUDDDUUDUUDDUUUDDUDDDUUDUUDDDUUDDUDDDUUDUUDDUUUDDUDDUUUDUUDDDUUDDUDDUUUDUUDDUUUDDUDDDUUDUUDDDUUDDUDDDUUDUUDDUUUDDUDDUUUDUUDDDUUDDUDDDUUDUUDDUUUDDUDDDUUDUUDDDUUDDUDD
No comments:
Post a Comment