��Ʈ���� �ϳ��̿� ����� �ϳ� �ֽ��ϴ�. �� ������� ������ �ո� ���� �ٸ� ũ���� 64�� ���� ���ǰ� 3���� ���̾Ƹ�� ���븦 ����ϴ� ū ���� ������ �ֽ��ϴ�. �����µ��� �㳷���� ���� �ʰ�, ���ݵ� �� ������ Ǯ�� �ֽ��ϴ�. �� ������...
64���� ������ ��� �Ű�����, ž�� ���, �����µ��� ��� ������ �Ǿ� ������鼭 ������ ������ ã�ƿɴϴ�. �����... 1883� �������� �������� ���ξƸ� ��ī(Édouard Lucas)�� �ϳ��� ž ������ ��������ϴ�. � ���α� ������� �Ƕ�̵� ������ ������ ���� ���Ǿ����� �� �ִٴ� �������� ������ ����ٰ� �մϴ�. �ϳ��� ž ������ ���ݾ� ������ ���� �̾߱���� �ִٰ� �մϴ�. ���⼭ �ڹ� ���ø����� ������ ������ �� �� �ֽ��ϴ�. ó������ 3~4���� ���� ���� ���Ǻ��� �����ϴ� ���� ���մϴ�. 4���� ���ǿ��� ������ ���ô�. �츮�� ������ ���ʿ� ���̴� ��� ���ǵ��� ������ ���� ����� �ű�� ���Դϴ�. ���� �ϱ� ���� �������� �ݵ�� ���� ū 4�� ������ C�� �ű�� ������ ���Եǰ�����? ���� �� ������ � ���� ������ �÷����� �� ������ �� ���� A�� �ִ� 1~3�� ������ B�� �Űܳ��� �մϴ�. ������� �� �Ŀ��߸� A�� �ִ� 4�� ������ C�� �ű� �� �ֽ��ϴ�. ���� ���� �� ���� �����ϱ��? B�� �ִ� 1~3�� ������ C�� �ű�� ���Դϴ�. ���� ���� �ϼ��Դϴ�. �� �߰� ������ �� ����, �̰� �˷��ִ� �̴ϱ�? -_- �����ϴ�. A�� �ִ� 1~3�� ������ B�� �ű�� ����� B�� �ִ� 1~3�� ������ C�� �ű�� ����� �˷����� �ʾҽ��ϴ�. �� ������ �����Ƽ��� ����� ���� �̹� �����帰 ������� Ǯ �� �ֱ� �����Դϴ�. �ϳ��� ž�� Ǯ��� ������ �ٽ� ���� �ϳ��� ž�� Ǯ��� ������� ������ �� �ֽ��ϴ�. ���� �� A�� �ִ� 1~3�� ������ B�� �ű�� ����� ���캸�ڽ��ϴ�. 1~3�� ������ ������ ������ �������� �ʾƵ� �˴ϴ�. �ֳ��ϸ� ���� ���� �ִ� 1~3�� ���Ǻ��� ũ�� �����Դϴ�. ū ���ǵ��� �عٴ��̶� �����ϰ� ������ �����ô�. �� ���� Ǯ��� �� ������ �ٽ� ������ ���ڽ��ϴ�. ���ʿ� ���̴� ��� ���ǵ��� ������ ���� ����� �ű⼼��. ó�� Ǫ���� �ߴ� ������ ���ؼ� ���캸����. ���� ���Ǵ� �Ȱ�����, ���� ���� �ٰ� ���� ��ġ�� �ٲ���ٰ� ���� �� �� �ֽ��ϴ�. ���� B�� �ִ� 1~3�� ������ C�� �ű�� ����� �ٽ� ���� ������ ������ ���ô�. ���ʿ� ���̴� ��� ���ǵ��� ������ ���� ����� �ű⼼��. �� ���� ������ ���� �� ���� ������� Ǯ� �� �ֽ��ϴ�. ���� ���� �������� ���� ���� 1���� �� �۽��ϴ�. ���� 1���� ������ �ű�� �ϳ��� ž ������ ����������? �̷� ������ ������ ��ǰ�� �����ڳ�. �� ���� ������ �ű�� �ϳ��� ž ������ �� �� �ű�� ������ �ذ��� �� �ֽ��ϴ�. ���� ������ �����ؼ� ���������� ��Ÿ�� ���ô�.
���� �ٸ� ���������� ���� ����Ű�� ���밡 �ٸ� �� �ֽ��ϴ�. src : �Űܾ� �� ���ǵ��� ���ִ� �����Դϴ�. (source) dest : ���ǵ��� ��ġ�ؾ� �� �����Դϴ�. (destination) aux : ���� �� ���븦 ������ �����Դϴ�. (auxiliary) ������ ���� ���� ���븦 src, ������ ���� ���븦 dest�� ������ �� �ֽ��ϴ�.
���� n���� ���ݵ��� ���� src���� dest�� �ű�� ������ �����սô�.
���� ������ ������� �˰������Դϴ�. ���� ��� �Լ��� ������ Ǯ� �� �ֽ��ϴ�. ������ Ǯ��� ����� ��� ���뿡 �ִ� ������ �ٸ� ����� �ű�� �������� �������� ����ϴ� ������ ��Ÿ����, ������ �̸��� ������ �� ���ڷ� �����ϰڽ��ϴ�. �ϳ��� Ÿ���� Ǯ��� c �ڵ� void hanoi_tower(char src, char aux, char dest, int n) { if(n == 1) { printf("%c -> %c\n", src, dest); return; } hanoi_tower(src, dest, aux, n-1); hanoi_tower(src, aux, dest, 1); hanoi_tower(aux, src, dest, n-1); } 3���� ���뿡 ���� A, B, C��� �̸��� �Ű��� �ְ�, 4���� ������ �̿��� �ϳ��� ž ������ Ǯ�� �ʹٸ�, �Լ� hanoi_tower(��A��, ��B��, ��C��, 4)�� ȣ���ϸ� �˴ϴ�. hanoi_tower(��A��, ��B��, ��C��, 3)�� ȣ�� ������ ������ ��Ÿ���� ������ �����ϴ�. Ʈ���� ���� �켱 Ž�� ������ �����ϴ�. ����ϴ�(�ű��) �κ��� ���������� ����˴ϴ�. 1�� ������ �ϳ��� ž�� �ذ��ϴµ� �ʿ��� ���� Ƚ�� T(1) = 1 n�� ������ �ϳ��� ž�� �ذ��ϴµ� �ʿ��� ���� Ƚ�� T(n) = 2T(n-1) + 1 = 2(2T(n-2) + 1) + 1 = 2^2 * T(n-2) + 2^1 + 2^0 = 2^2 * (2T(n-3) + 1) + 2^1 + 2^0 = 2^3 * T(n-3) + 2^2 + 2^1 + 2^0 ... = 2^(n-1) + 2^(n-2) + ... + 2^1 + 2^0 = 2^n - 1 �� ���� Ƚ���� ���� �ּ� �̵� Ƚ���͵� �����ϴ�. ��-�� ǥ����� �̿��� ��Ÿ���� �ð� ����� 2^n - 1 = O(2^n) �Դϴ�. ������ ������ ���� ã�ƿñ��? ���� �Լ��� �ſ� ũ�� �����ϴ� �Լ��Դϴ�. 64���� ������ �ű�� Ƚ���� 2^64 - 1 = 18446744073709551615 �� ���ϰ� ū ���Դϴ�. �������� ���� �ϳ� �ű�µ� �ɸ��� �ð��� 1�ʶ�� �սô�. 1� ��� 365.25���� �ְ�, 1���� 24�ð��̰�, 1�ð��� 60���̰�, 1���� 60�ʴϱ� 365.25 * 24 * 60 * 60 = 31557600 �������� 1� �� 31557600���� ������ �ű� �� �ֽ��ϴ�. ���� 64���� ������ �ű�µ� 18446744073709551615 / 31557600 = 584542046090.62639 �� 5845�� ���� �ɸ��ϴ�. ���� �¾��� 46��� ���� Ȱ���ؿ� ������ ���̸� 50����� �� �¿� ���ᰡ �����ֽ��ϴ�. ������ �¾��� ����� ���� ���ſ� ���ҷ� �����ϴ� ������ �Ͼ�� ��Ǯ�� �����µ�, ������ ��ų �������� �ص��� Ŀ���ϴ�. ���� 50�� �Ŀ� �¾��� �����ż��� �Ǹ�, ������ ����ü(�Ǵ� ����)�� ������ �� ���� ���°� �ǹǷ� �����̶�� �� �� �ֽ��ϴ�. 1�ʿ� ������ 100���� �ű�� �κ��̶� �̿��Ѵٸ�, ���������� Ÿ�缺�� �ֽ��ϴ�. ���� �� ������ ��ǻ�Ͱ� �ذ��Ϸ��� �� �ɸ����? ��ǻ�ʹ� ���� �ϳ� �ű�� ���꿡 1����ũ�� �ʰ� �ɸ��ٰ� �����ϸ�, ���� 58������ �ɸ��ϴ�. |