संभव डुप्लिकेट:
How does this work? Weird Towers of Hanoi Solutionहनोई का यह पुनरावृत्ति टॉवर कैसे काम करता है? सी
गूगल पर सर्फिंग करते हैं, मैं हनोई का टॉवर को यह दिलचस्प समाधान जो भी डेटा संरचना के रूप में ढेर का उपयोग नहीं करता पाया।
क्या कोई मुझे संक्षेप में समझा सकता है, वास्तव में यह क्या कर रहा है?
क्या यह समाधान वास्तव में स्वीकार्य है?
कोड
#include <stdio.h>
#include <stdlib.h>
int main()
{
int n, x;
printf("How many disks?\n");
scanf("%d", &n);
printf("\n");
for (x=1; x < (1 << n); x++)
printf("move from tower %i to tower %i.\n",
(x&x-1)%3, ((x|x-1)+1)%3);
return 0;
}
अद्यतन: हार्ड-कोडेड नंबर 3 यहाँ में क्या कर रहा है?
यह मानक 3 छड़ का उपयोग कर रहा है। –
क्या यह चाल के सही अनुक्रम की रिपोर्ट करता है? यदि ऐसा है, तो यह काम करता है, और इसका कोई कारण नहीं है कि इसे स्वीकार्य नहीं होना चाहिए। हालांकि, आपको इसे अपने होमवर्क के समाधान के रूप में पेश करने से पहले इसे समझने की आवश्यकता है, या यदि आपको इसे समझाने के लिए बुलाया जाता है तो आपको परेशानी होगी, क्योंकि आप बहुत अच्छे हो सकते हैं क्योंकि यह सामान्य से बहुत अलग है। –
यह मेरा होमवर्क नहीं है। मैंने बस इस एल्गोरिदम को गलती से पाया और यह पूछने के लिए सोचा कि यह वास्तव में कैसे काम करता है। – TCM