#include unsigned int step; void move_disks(int stick_from, int stick_to, int how_many) { int interm_stick = stick_from ^ stick_to; if( how_many > 1 ) move_disks(stick_from, interm_stick, how_many-1); step++; cout< 1 ) move_disks(interm_stick, stick_to, how_many-1); } void main(int argc, char *argv[]) { int N = (argc>1 ? atoi(argv[1]) : 0); N = N>0 ? N : 16; cout<<"Program Hanoi. Number of disks to move: "<