I don't completely understand how Ethereum works. Can a program change its code during an execution? Can it store its temporary data somewhere except the stack during a single execution?
I'm asking these questions coz I don't know how to write a program that solves http://en.wikipedia.org/wiki/Tower_of_Hanoi
puzzle using Ethereum language.