C - Recursion in Hindi




जिस प्रक्रिया में एक फ़ंक्शन सीधे या indirect रूप से कॉल करता है उसे repititive कहा जाता है और इसी फ़ंक्शन को recursive फ़ंक्शन कहा जाता है recursive एल्गोरिथ्म का उपयोग करते हुए, कुछ समस्याओं को बहुत आसानी से हल किया जा सकता है।

Recursive एक प्रोग्रामिंग तकनीक है जो प्रोग्रामर को स्वयं के संदर्भ में कार्य करने की permission देता है सी में, यह एक ऐसे function का रूप लेता है जो स्वयं कॉल करता है recursive फ़ंक्शंस के बारे में सोचने के लिए एक उपयोगी तरीका यह है कि उनकी कल्पना एक प्रक्रिया के रूप में की जानी चाहये जहां निर्देशों में से एक "प्रक्रिया दोहराना" है।

बेशक, प्रक्रिया के लिए कभी-कभी recursive कॉल के बिना पूरा किया जाना संभव है, एक साधारण example एक wall बनाने का विचार है जो दस फुट ऊंचा है; अगर मैं दस फुट ऊंची wall बनाना चाहता हूं, तो मैं पहले 9 फुट ऊंची wall का निर्माण करूँगा, और फिर ईंटों का एक अतिरिक्त पैर जोड़ूंगा।

Conceptual रूप से, यह कहना है कि बिल्ड वॉल function ऊँचाई लेता है और अगर वह ऊंचाई एक से अधिक है, तो पहले खुद को कम wall बनाने के लिए कहता है, और फिर एक ईंट का पैर जोड़ता है।

Recursive कुछ मायनों में लूपिंग के समान है दूसरी ओर, recursion उन विचारों को व्यक्त करना में आसान बनाता है जिसमें recursive कॉल का परिणाम कार्य को पूरा करने के लिए आवश्यक है।

Example Code

#include <stdio.h>

unsigned int multiply(unsigned int x, unsigned int y)
{
    if (n == 1)
    {
        /* Terminating case */
        return m;
    }
    else if (n > 1)
    {
        /* Recursive step */
        return m + multiply(n-1, m);
    }

    /* Catch scenario when n is zero */
    return 0;
}

int main() {
    printf("4 times 6 is %d", multiply(4, 6));
    return 0;
}

Example Result

4 times 6 is 24