हिंदी माध्यम नोट्स
Recursion : Example ( Tower of Hanoi ) in hindi in c language रिकर्शन के उदाहरण , टावर ऑफ़ हनोई
Tower of Hanoi Problem एक mathematics problem और puzzle है |इसमें तीन iron sticks होती और number of disks होती है |इस puzzle मे , सभी disks को एक stick से दुसरे stick मे transfer करनी है लेकिन कुछ शर्तो के साथ :-
1.केवल एक डिस्क ही एक समय मे मूव हो सकती है |
2.सभी मूव मे,किसी एक stick मे उपस्थित सबसे उपर वाली डिस्क को निकल सकते है और use किसी दुसरे stick मे सबसे उपर लगा सकते है |
3.कभी बड़ी डिस्क ,छोटी डिस्क के उपर नहीं होगी |
इस प्रॉब्लम का solution होगा |
अगर किसी दो डिस्क के साथ ये प्रॉब्लम solve की जाये तब :stick1 =A और stick 2 = B और stick 3 =C है |
1.सबसे छोटी डिस्क को A से B पर शिफ्ट करेगे |
2.दूसरी डिस्क को A से C पर शिफ्ट करेगे |
3.फिर छोटी डिस्क को B से C पर शिफ्ट करेगे |
इसका solution मे तीन STEPS मुख्य होते है:-
1.n-1डिस्क को A से B पर शिफ्ट करना |
2.n डिस्क को A से C पर शिफ्ट करना |
3.n-1 disks को B से C पर शिफ्ट करना |
जब ये problem तीन डिस्क के साथ होती है तब :
1.डिस्क1 को A से C पर SHIFT करते है |
2.डिस्क 2 को A से B पर शिफ्ट करते है |
3.डिस्क 1 को C से B पर शिफ्ट करते है |
4.डिस्क 3 को A से C पर शिफ्ट करते है |
5.डिस्क 1 को B से A पर शिफ्ट करते है |
6.डिस्क 2 को B को C पर शिफ्ट करते है |
7डिस्क 1 को A से C पर शिफ्ट करते है |
इस लॉजिक को केवल RECURSION से बनाया जा सकता है |
Recursion का function मे महत्वपूर्ण योगदान है | इसके पिछले article मे हमने recursion की परीभाषा ,प्रकार और कुछ basic उदहारण देखे थे |लेकिन इस article मे हम कुछ advance problems जिनका solution केवल recursion से possible है को discuss करेगे |
Tower of Hanoi Problem :
Tower of Hanoi Problem एक mathematics problem और puzzle है |इसमें तीन iron sticks होती और number of disks होती है |इस puzzle मे , सभी disks को एक stick से दुसरे stick मे transfer करनी है लेकिन कुछ शर्तो के साथ :-
1.केवल एक डिस्क ही एक समय मे मूव हो सकती है |
2.सभी मूव मे,किसी एक stick मे उपस्थित सबसे उपर वाली डिस्क को निकल सकते है और use किसी दुसरे stick मे सबसे उपर लगा सकते है |
3.कभी बड़ी डिस्क ,छोटी डिस्क के उपर नहीं होगी |
इस प्रॉब्लम का solution होगा |
अगर किसी दो डिस्क के साथ ये प्रॉब्लम solve की जाये तब :stick1 =A और stick 2 = B और stick 3 =C है |
1.सबसे छोटी डिस्क को A से B पर शिफ्ट करेगे |
2.दूसरी डिस्क को A से C पर शिफ्ट करेगे |
3.फिर छोटी डिस्क को B से C पर शिफ्ट करेगे |
इसका solution मे तीन STEPS मुख्य होते है:-
1.n-1डिस्क को A से B पर शिफ्ट करना |
2.n डिस्क को A से C पर शिफ्ट करना |
3.n-1 disks को B से C पर शिफ्ट करना |
जब ये problem तीन डिस्क के साथ होती है तब :
1.डिस्क1 को A से C पर SHIFT करते है |
2.डिस्क 2 को A से B पर शिफ्ट करते है |
3.डिस्क 1 को C से B पर शिफ्ट करते है |
4.डिस्क 3 को A से C पर शिफ्ट करते है |
5.डिस्क 1 को B से A पर शिफ्ट करते है |
6.डिस्क 2 को B को C पर शिफ्ट करते है |
7डिस्क 1 को A से C पर शिफ्ट करते है |
इस लॉजिक को केवल RECURSION से बनाया जा सकता है
#include <stdio.h>
void towers(int, char, char, char);
int main()
{
int n;
printf(“Enter the number of disks : “);
scanf(“%d”, &n);
printf(“The sequence of moves involved in the Tower of Hanoi are :\n“);
towers(n, ‘A’, ‘C’, ‘B’);
}
void towers(int n, char a, char b, char c)
{
if (n == 1)
printf(“\n Move disk 1 from peg %c to peg %c”, a, c);
return;
}
towers(n – 1, a, c, b);
printf(“\n Move disk %d from peg %c to peg %c”, n, a, b);
towers(n – 1, c, b, a)
}
Recent Posts
मालकाना का युद्ध malkhana ka yudh kab hua tha in hindi
malkhana ka yudh kab hua tha in hindi मालकाना का युद्ध ? मालकाना के युद्ध…
कान्हड़देव तथा अलाउद्दीन खिलजी के संबंधों पर प्रकाश डालिए
राणा रतन सिंह चित्तौड़ ( 1302 ई. - 1303 ) राजस्थान के इतिहास में गुहिलवंशी…
हम्मीर देव चौहान का इतिहास क्या है ? hammir dev chauhan history in hindi explained
hammir dev chauhan history in hindi explained हम्मीर देव चौहान का इतिहास क्या है ?…
तराइन का प्रथम युद्ध कब और किसके बीच हुआ द्वितीय युद्ध Tarain battle in hindi first and second
Tarain battle in hindi first and second तराइन का प्रथम युद्ध कब और किसके बीच…
चौहानों की उत्पत्ति कैसे हुई थी ? chahamana dynasty ki utpatti kahan se hui in hindi
chahamana dynasty ki utpatti kahan se hui in hindi चौहानों की उत्पत्ति कैसे हुई थी…
भारत पर पहला तुर्क आक्रमण किसने किया कब हुआ first turk invaders who attacked india in hindi
first turk invaders who attacked india in hindi भारत पर पहला तुर्क आक्रमण किसने किया…