किसी संख्या का भाज्य एक महत्वपूर्ण गणितीय अवधारणा है। आप इसका उपयोग क्रमचय और संयोजन करने के लिए कर सकते हैं, घातीय और लघुगणकीय व्यंजक लिख सकते हैं, और प्रायिकता की गणना कर सकते हैं।
आप इसका उपयोग विभिन्न तरीकों की संख्या का पता लगाने के लिए करते हैं, जिससे आप बैठने की व्यवस्था तैयार कर सकते हैं, या मालदीव में अपनी छुट्टी के लिए टी-शर्ट चुन सकते हैं। लेकिन आप किसी संख्या के भाज्य की गणना कैसे कर सकते हैं?
एक संख्या का भाज्य क्या है?
किसी धनात्मक संख्या का क्रमगुणन संख्या के मान से कम या उसके बराबर सभी धनात्मक पूर्णांकों का गुणनफल होता है। विस्मयादिबोधक चिह्न (!) के बाद एक संख्या किसी संख्या के भाज्य को दर्शाती है। आप पाँच के भाज्य को 5 के रूप में दर्शाते हैं! और इसकी गणना करें:
5! = 5 * 4 * 3 * 2 * 1 = 120
इसे देखने का एक और तरीका है:
5! = 5 * 4! कहाँ 4! = 4 * 3!, 3! = 3 * 2! और इसी तरह तब तक जब तक आपको 1 न मिल जाए! = 1 * 0! जो 1 है।
आप इस अवधारणा का उपयोग रिकर्सन नामक एक लोकप्रिय अवधारणा का उपयोग करके हमारे फैक्टोरियल प्रोग्राम के निर्माण के लिए करेंगे।
रिकर्सन क्या है?
रिकर्सन एक प्रक्रिया है जिसमें एक फ़ंक्शन स्वयं को कॉल करता है। इस प्रक्रिया का एक मुख्य लाभ यह है कि यह एक बड़ी समस्या को छोटे-छोटे टुकड़ों में तोड़ देती है। इससे समस्या का समाधान आसान हो जाता है।
आप तीन आसान चरणों में उपयुक्त समस्याओं को हल करने के लिए पुनरावर्तन का उपयोग कर सकते हैं:
- बेस केस खोजें: यदि कोई फ़ंक्शन हमेशा स्वयं को कॉल करता है, तो प्रक्रिया अनंत होगी। ऐसा होने से रोकने के लिए, एक आधार मामला परिभाषित करें जो आपके कार्य के लिए तार्किक रोक बिंदु बन जाए। उदाहरण के लिए, फ़ैक्टोरियल प्रोग्राम में, परिकलन को शून्य पर रोक दें। यह समस्या का आधार मामला बन जाता है।
- समस्या और उपसमस्याओं के बीच संबंध खोजें: बड़ी समस्या को उप-समस्या में तोड़ दें। उदाहरण के लिए, समस्या पाँच का भाज्य ज्ञात करना है। मान लें कि आपके पास चार के भाज्य का उत्तर है, जो कि 24 है। आप 24 का उपयोग करके पांच का भाज्य कैसे प्राप्त करेंगे? इसमें स्वयं को पाँच से गुणा करके। यह समस्या और उपसमस्या के बीच का संबंध है।
- चरण 2 में मिले संबंध का सामान्यीकरण करें: अब जबकि आपके पास संबंध है, इसे n के संदर्भ में सामान्यीकृत करें। तो, संख्या n का भाज्य n का गुणनफल है और n-1 का भाज्य है।
आप इस अवधारणा का उपयोग कर सकते हैं n प्राकृतिक संख्याओं का योग ज्ञात कीजिए, GCD, LCM, फाइबोनैचि श्रृंखला की गणना करें और अभाज्य संख्याओं की जाँच करें।
पुनरावर्तन का उपयोग करके क्रमगुणित कार्य के लिए छद्म कोड
यह है आप रिकर्सन का उपयोग कैसे करते हैं और किसी भी भाषा में अपना प्रोग्राम बनाने के लिए स्यूडो कोड लिखें। अलग-अलग भाषाओं के साथ, सिंटैक्स और निष्पादन बदल जाता है लेकिन तर्क बरकरार रहता है।
समारोहतथ्य(एन)
अगर एन == 0 तब // बेस केस
वापस करना1
वापस करना एन * कॉल फैक्ट (एन - 1) // सामान्यीकृत संबंध
सी में फैक्टोरियल प्रोग्राम
C पहली उच्च-स्तरीय, प्लेटफ़ॉर्म-स्वतंत्र प्रोग्रामिंग भाषा थी। इसमें सख्त सिंटैक्स है, केस-संवेदी है, और सबसे तेज गति से कोड निष्पादित करता है। यह एक प्रक्रियात्मक प्रोग्रामिंग भाषा है और इसलिए आप इसके शीर्ष पर कोई भी कार्य घोषित करते हैं मुख्य समारोह। यहां बताया गया है कि आप C भाषा में पुनरावर्तन का उपयोग करके फैक्टोरियल प्रोग्राम कैसे बना सकते हैं:
आप इसमें C, Java और Python में रिकर्सन का उपयोग करके फैक्टोरियल प्रोग्राम का संपूर्ण स्रोत कोड पा सकते हैं गिटहब रिपॉजिटरी.
- स्क्रीन पर आउटपुट प्रदर्शित करने के लिए मानक इनपुट आउटपुट हेडर फ़ाइल आयात करें।
#शामिल करना <stdio.h>
- कार्य को परिभाषित कीजिए तथ्य और पूर्णांक लें एन एक तर्क के रूप में।
int यहाँतथ्य(int यहाँ एन){
- का उपयोग करके फ़ंक्शन का आधार केस लिखें अगर कथन और इसकी समानता का उपयोग करके जांचें ==. यदि n शून्य के बराबर है, तो एक लौटाएँ।
अगर (एन == 0)
वापस करना1; - सामान्यीकृत समीकरण लिखिए और का गुणनफल लौटाइए एन उप-समस्या के फ़ंक्शन कॉल के साथ एन-1.
वापस करना एन * तथ्य (एन - 1);
} - मुख्य फ़ंक्शन की घोषणा करें और पूर्णांक प्रकार के एक चर को उस संख्या को संग्रहीत करने के लिए प्रारंभ करें जिसका भाज्य आप खोजना चाहते हैं।
int यहाँमुख्य(){
int यहाँ संख्या = 5; - का उपयोग करके संख्या का भाज्य प्रदर्शित करें प्रिंटफ () समारोह। %डी दशमलव प्रारूप विनिर्देशक है। प्रत्येक प्रारूप विनिर्देशक का उपयोग इसे उस संख्या से बदलने के लिए करें जिसका भाज्य आप खोजना चाहते हैं और फ़ंक्शन को कॉल करके परिणाम प्राप्त करें।
प्रिंटफ ("%d का क्रमगुणित %d है", संख्या, तथ्य (संख्या));
वापस करना0;
}
जावा में फैक्टोरियल प्रोग्राम
जावा एक संकलित प्रोग्रामिंग भाषा है और प्लेटफ़ॉर्म-स्वतंत्र है। आप सभी कोड को a के अंदर स्टोर करते हैं कक्षा और निष्पादन से शुरू होता है मुख्य समारोह। यह केस-संवेदी और सिंटैक्स सख्त है। कोड थोड़ा लंबा है लेकिन पायथन की तुलना में तेज़ है। यहां बताया गया है कि आप जावा में पुनरावर्तन का उपयोग करके फैक्टोरियल प्रोग्राम कैसे बना सकते हैं:
- मुख्य वर्ग को परिभाषित कीजिए।
कक्षामुख्य{
- वापसी प्रकार int के साथ एक स्थिर फ़ंक्शन को परिभाषित करें जो पूर्णांक प्रकार के चर n को स्वीकार करता है। आपने एक स्थिर विधि घोषित की है क्योंकि जावा में मुख्य विधि को स्थिर भी घोषित किया गया है। इसके अतिरिक्त, आप स्थिर उदाहरण से गैर स्थैतिक विधि को कॉल नहीं कर सकते हैं।
स्थिरint यहाँतथ्य(int यहाँ एन){
- का उपयोग करके फ़ंक्शन का आधार केस लिखें अगर कथन और इसकी समानता का उपयोग करके जांचें ==. यदि n शून्य के बराबर है, तो एक लौटाएँ।
अगर (एन == 0)
वापस करना1; - सामान्यीकृत समीकरण लिखिए और का गुणनफल लौटाइए एन उप-समस्या के फ़ंक्शन कॉल के साथ एन-1.
वापस करना एन * तथ्य (एन - 1);
} - जावा में मुख्य कार्य की घोषणा करें। एक्सेस संशोधक को इस रूप में घोषित करें जनता, इसलिए इसे अन्य सभी वर्गों और विधियों द्वारा पहुँचा जा सकता है। आप मुख्य कार्य के रूप में घोषित करते हैं स्थिर ताकि कंपाइलर क्लास को इंस्टेंट किए बिना इसे इनवॉइस कर सके। वापसी का प्रकार है खालीपन, और यह प्रकार के तर्कों को स्वीकार करता है डोरी. उस नंबर को स्टोर करें जिसका फैक्टोरियल आप खोजना चाहते हैं।
जनतास्थिरखालीपनमुख्य(स्ट्रिंग [] तर्क){
int यहाँ संख्या = 5; - उपयोग प्रिंटल () विधि, का एक उदाहरण प्रिंटस्ट्रीम वर्ग, में परिभाषित प्रणाली वर्ग संख्या के भाज्य प्रदर्शित करने के लिए।
सिस्टम.आउट.प्रिंटल ("का क्रमगुणन " + अंक + " है " + तथ्य (संख्या));
}
}
पायथन में फैक्टोरियल प्रोग्राम
पायथन में कोड लिखना बेहद आसान और मजेदार है। जैसा कि यह एक व्याख्या की गई प्लेटफ़ॉर्म-स्वतंत्र भाषा है, आपको डेटा प्रकार के चर घोषित करने की आवश्यकता नहीं है। आप इस तरह के एक साधारण कार्यक्रम के लिए कक्षाओं की घोषणा करने और पुस्तकालयों को आयात करने से भी बचते हैं। कोडिंग शुरू करने के लिए खेल का मैदान आपके लिए तैयार है।
छोटे कोड की लंबाई के साथ सिंटैक्स आसान है, लेकिन अन्य भाषाओं की तुलना में इसे निष्पादित करने में थोड़ा अधिक समय लगता है। यहां बताया गया है कि आप पायथन में पुनरावर्तन का उपयोग करके फैक्टोरियल प्रोग्राम कैसे बना सकते हैं:
- फ़ंक्शन तथ्य को परिभाषित करें जो तर्क एन के रूप में स्वीकार करता है।
डीईएफ़तथ्य(एन):
- का उपयोग करके फ़ंक्शन का आधार केस लिखें अगर कथन और इसकी समानता का उपयोग करके जांचें ==. यदि n शून्य के बराबर है, तो एक लौटाएँ।
अगर एन == 0:
वापस करना1 - सामान्यीकृत समीकरण लिखिए और का गुणनफल लौटाइए एन उप-समस्या के फ़ंक्शन कॉल के साथ एन-1.
वापस करना एन * तथ्य (एन-1)
- उस नंबर को स्टोर करें जिसका फैक्टोरियल आप खोजना चाहते हैं और प्रिंट स्टेटमेंट का उपयोग करके इसे प्रदर्शित करें।
संख्या = 5;
प्रिंट ("का क्रमगुणन", अंक, "है", तथ्य (संख्या))
रिकर्सन के कई अनुप्रयोग हैं
रिकर्सन समस्याओं को हल करने का एक प्रभावी तरीका है। यह आर्टिफिशियल इंटेलिजेंस की जड़ है और शतरंज या सुडोकू जैसे पहेली गेम में इसका वास्तविक दुनिया में उपयोग होता है।
यह ट्री या सॉर्टिंग एल्गोरिदम जैसे त्वरित सॉर्ट और मर्ज सॉर्ट जैसे डेटा संरचनाओं को सॉर्ट करने के लिए भी एक शक्तिशाली तरीका है। आप बाइनरी खोज, गणितीय अभिव्यक्ति जैसे फाइबोनैचि श्रृंखला, और अधिक जैसे एल्गोरिदम खोजने में भी पुनरावर्तन का उपयोग कर सकते हैं।