इस लेख में, हम यह समझेंगे कि पुनरावर्तन का उपयोग करके किसी संख्या के अंकों का योग कैसे ज्ञात किया जाता है। एक पुनरावर्ती फ़ंक्शन एक ऐसा फ़ंक्शन है जो किसी विशेष स्थिति के संतुष्ट होने तक स्वयं को कई बार कॉल करता है।
पुनरावर्ती वस्तुओं को स्व-समान तरीके से दोहराने की प्रक्रिया है। प्रोग्रामिंग भाषाओं में, यदि कोई प्रोग्राम आपको उसी फ़ंक्शन के अंदर किसी फ़ंक्शन को कॉल करने की अनुमति देता है, तो इसे फ़ंक्शन का पुनरावर्ती कॉल कहा जाता है।
कई प्रोग्रामिंग भाषाएं स्टैक के माध्यम से रिकर्सन को लागू करती हैं। आम तौर पर, जब भी कोई फ़ंक्शन (कॉलर) किसी अन्य फ़ंक्शन (कैली) या स्वयं को कैली के रूप में कॉल करता है, तो कॉलर फ़ंक्शन कैली को निष्पादन नियंत्रण स्थानांतरित करता है। इस स्थानांतरण प्रक्रिया में कुछ डेटा भी शामिल हो सकता है जिसे कॉलर से कॉल करने वाले को भेजा जाना है।
नीचे उसी का एक प्रदर्शन है -
इनपुट
मान लीजिए हमारा इनपुट है -
Enter the number : 12131415
आउटपुट
वांछित आउटपुट होगा -
The Sum of digits of 12131415 is 18
एल्गोरिदम
Step 1 - START Step 2 - Declare two integer values namely my_input and my_result Step 3 - Read the required values from the user/ define the values Step 4 - A recursive function ‘digitSum’ is defined which takes an integer as input. The function computes the reminder by re-iterating over the function multiple times, until the base condition is reached. Step 5 - The recursive function ‘digitSum’ is called and its result is assigned to ‘my_result’ Step 6 - Display the result Step 7 - Stop
उदाहरण 1
यहां, उपयोगकर्ता द्वारा एक प्रॉम्प्ट के आधार पर इनपुट दर्ज किया जा रहा है। आप इस उदाहरण को हमारे कोडिंग ग्राउंड टूल में लाइव आज़मा सकते हैं ।
import java.util.Scanner; public class Sum{ public static void main(String args[]){ int my_input, my_result; System.out.println("Required packages have been imported"); Scanner my_scanner = new Scanner(System.in); System.out.println("A reader object has been defined "); System.out.print("Enter the number : "); my_input = my_scanner.nextInt(); my_result = digitSum(my_input); System.out.println("The Sum of digits of " + my_input + " is " + my_result); } static int digitSum(int n){ if (n == 0) return 0; return (n % 10 + digitSum(n / 10)); } }
आउटपुट
Required packages have been imported A reader object has been defined Enter the number : 12131415 The Sum of digits of 12131415 is 18
उदाहरण 2
यहां, पूर्णांक को पहले परिभाषित किया गया है, और इसके मान को एक्सेस किया जाता है और कंसोल पर प्रदर्शित किया जाता है।
public class Sum{ public static void main(String args[]){ int my_input = 12131415; System.out.println("The number is defined as : " +my_input); int my_result = digitSum(my_input); System.out.println("The Sum of digits of " + my_input + " is " + my_result); } static int digitSum(int n){ if (n == 0) return 0; return (n % 10 + digitSum(n / 10)); } }
आउटपुट
The number is defined as : 12131415 The Sum of digits of 12131415 is 18