इस लेख में, हम समझेंगे कि रिकर्सन का उपयोग करके G.C.D कैसे खोजा जाए। एक पुनरावर्ती फ़ंक्शन एक ऐसा फ़ंक्शन है जो किसी विशेष स्थिति के संतुष्ट होने तक स्वयं को कई बार कॉल करता है। दो संख्याओं का सबसे बड़ा सामान्य भाजक (GCD) वह सबसे बड़ी संख्या है जो दोनों को विभाजित करती है।
पुनरावर्ती वस्तुओं को स्व-समान तरीके से दोहराने की प्रक्रिया है। प्रोग्रामिंग भाषाओं में, यदि कोई प्रोग्राम आपको उसी फ़ंक्शन के अंदर किसी फ़ंक्शन को कॉल करने की अनुमति देता है, तो इसे फ़ंक्शन का पुनरावर्ती कॉल कहा जाता है।
कई प्रोग्रामिंग भाषाएं स्टैक के माध्यम से रिकर्सन को लागू करती हैं। आम तौर पर, जब भी कोई फ़ंक्शन (कॉलर) किसी अन्य फ़ंक्शन (कैली) या स्वयं को कैली के रूप में कॉल करता है, तो कॉलर फ़ंक्शन कैली को निष्पादन नियंत्रण स्थानांतरित करता है। इस स्थानांतरण प्रक्रिया में कुछ डेटा भी शामिल हो सकता है जिसे कॉलर से कॉल करने वाले को भेजा जाना है।
नीचे उसी का एक प्रदर्शन है -
इनपुट
मान लीजिए हमारा इनपुट है -
Enter two numbers: 24 and 36
आउटपुट
वांछित आउटपुट होगा -
The G.C.D of 24 and 36 is 12.
एल्गोरिदम
Step 1 - START Step 2 - Declare three values namely my_input_1, my_input_2 and my_result Step 3 - Read the required values from the user/ define the values Step 4 - A recursive function ‘CommonFactor’ is defined which takes two integers as input and returns two values i.e ‘my_input_2’ value and ‘my_input_1’ % ‘my_input_2’ value. Step 5 - The function is called recursively until the value of ‘my_input_2’ is greater than 0. Store the result. Step 6 - Display the result Step 7 - Stop
उदाहरण 1
यहां, उपयोगकर्ता द्वारा एक प्रॉम्प्ट के आधार पर इनपुट दर्ज किया जा रहा है। आप इस उदाहरण को हमारे कोडिंग ग्राउंड टूल में लाइव आज़मा सकते हैं ।
import java.util.Scanner; public class GCD { public static void main(String[] args) { int my_input_1, my_input_2, 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 first number : "); my_input_1 = my_scanner.nextInt(); System.out.print("Enter the second number : "); my_input_2 = my_scanner.nextInt(); my_result = CommonFactor(my_input_1, my_input_2); System.out.printf("The G.C.D of %d and %d is %d.", my_input_1, my_input_2, my_result); } public static int CommonFactor(int my_input_1, int my_input_2){ if (my_input_2 != 0) return CommonFactor(my_input_2, my_input_1 % my_input_2); else return my_input_1; } }
आउटपुट
Required packages have been imported A reader object has been defined Enter the first number : 24 Enter the second number : 36 The G.C.D of 24 and 36 is 12.
उदाहरण 2
यहां, पूर्णांक को पहले परिभाषित किया गया है, और इसके मान को एक्सेस किया जाता है और कंसोल पर प्रदर्शित किया जाता है।
public class GCD { public static void main(String[] args) { int my_input_1, my_input_2, my_result; my_input_1 = 24; my_input_2 = 36; System.out.println("The numbers are defined as " +my_input_1 +" and " +my_input_2); my_result = CommonFactor(my_input_1, my_input_2); System.out.printf("The G.C.D of %d and %d is %d.", my_input_1, my_input_2, my_result); } public static int CommonFactor(int my_input_1, int my_input_2){ if (my_input_2 != 0) return CommonFactor(my_input_2, my_input_1 % my_input_2); else return my_input_1; } }
आउटपुट
The numbers is defined as 24 and 36 The G.C.D of 24 and 36 is 12.