2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
पुनरावर्तनीय एल्गोरिदमसङ्गणकविज्ञाने गणिते च व्यापकरूपेण प्रयुक्ता प्रोग्रामिंग-प्रविधिः अस्ति या कार्याणां अनुमतिं ददातिसाक्षात्वाअप्रत्यक्षम्भूःस्वयमेव आह्वयति समस्यायाः समाधानार्थम् ।पुनरावर्तनीयम्मूलविचारःजटिलसमस्यानां लघुतरेषु, समानेषु उपसमस्यासु विघटनं भवति यावत् एताः उपसमस्याः प्रत्यक्षतया समाधानं कर्तुं पर्याप्तं सरलाः न भवन्ति ।
लाभ: संहिता संक्षिप्तः, तर्कः स्पष्टः, अवगन्तुं लेखनं च सुलभम् अस्ति ।
अभावः : पुनरावर्तनीयसमाधानस्य अपेक्षया न्यूनदक्षः भवितुम् अर्हति यतोहि अस्मिन् अधिकं फंक्शन् कॉल ओवरहेड् सम्मिलितं भवति। तदतिरिक्तं, अतिगभीरं पुनरावृत्तिः स्तम्भ-अतिप्रवाह-दोषाणां कारणं भवितुम् अर्हति ।
पुनरावृत्तिः अनेकेषु एल्गोरिदम्स् मध्ये अनुप्रयोगाः सन्ति, यथा...वृक्षपरिभ्रमणम्、आलेख अन्वेषणम्、गतिशील प्रोग्रामिंग इत्यादि। . पुनरावृत्तेः सम्यक् उपयोगेन जटिलसमस्यानां समाधानं सरलं कर्तुं शक्यते ।
def factorial(n):#自定义求n的阶乘函数
if n==1:#判断n=1
return 1#返回1结束
else:#递归条件 即n!=1
return n*factorial(n-1)#递归求阶乘
number = int(input("请输入一个正整数:"))#输入n的值
result = factorial(number)#调用阶乘函数
print("%d 的阶乘是 %d" %(number,result))#输出结果
factorial
फंक्शन् एकं पैरामीटर् प्राप्नोति n
, तस्याः संख्यायाः प्रतिनिधित्वं करोति यस्य कृते गुणनखण्डः गणनीयः अस्ति ।कारकं यथा व्यज्यतेn!
, सर्वे न्यूनाः समानाः वा इति विवक्षिताः n
धनात्मकपूर्णाङ्कानां गुणनफलम् । उदाहरणतया,5! = 5 × 4 × 3 × 2 × 1 = 120
。
n
यदि 1 इत्यस्य समं भवति तर्हि फंक्शन् प्रत्यक्षतया 1 प्रत्यागच्छति । एषा पुनरावृत्तेः समाप्तिस्थितिः यतः १ इत्यस्य गुणनखण्डः १ इति परिभाषितः अस्ति ।n
न समः १, कार्यम् भविष्यतिn
तथाfactorial(n-1)
परिणामाः गुणिताः भवन्ति।factorial(n-1)
इति सत्यम्factorial
नियोगआह्वानमेव , परन्तु पैरामीटर् १ इत्यनेन न्यूनीकरोति ।एषः आह्वानः यावत्...n
प्राप्नोति १.पुनरावर्तनस्य कुञ्जी अस्ति यत् प्रत्येकं पुनरावर्तनीयं आह्वानं आधारप्रकरणस्य समीपं गच्छति, अन्ते आधारप्रकरणं प्राप्य मूल्यानि प्रत्यागन्तुं आरभते । अस्मिन् उदाहरणे प्रत्येकं पुनरावर्तनीयं आह्वानं n 1 द्वारा न्यूनीकरोति यावत् n 1 न भवति ।
पुनरावृत्तिः बृहत् मूल्यानि नियन्त्रयति समये कार्यक्षमतायाः समस्याः अथवा स्टैक् ओवरफ्लो त्रुटयः सम्मुखीभवितुं शक्नोति यतोहि प्रत्येकं फंक्शन् आह्वानं स्टैक् स्थानस्य भागं गृह्णाति । फैक्टरियल् इत्यादीनां सरलगणितीयक्रियाणां कृते प्रायः अधिकदक्षाः स्मृति-अनुकूलाः च पुनरावर्तनीयविधयः सन्ति । तथापि पुनरावृत्तिः कतिपयानां समस्यानां समाधानार्थं सुरुचिपूर्णं सुलभं च मार्गं प्रददाति ।