01 · प्राकृतिक संख्याएँ: शून्य, उत्तराधिकारी और recursion
प्राकृतिक संख्याएँ: शून्य, उत्तराधिकारी और recursion¶
हर प्राकृतिक संख्या को शून्य या उत्तराधिकारी के रूप में रखकर समानता और जोड़ पढ़ें।
आप जानते हैं कि operator special method चलाता है और decorator लौटते समय log लिखता है।
- “प्राकृतिक संख्याएँ: शून्य, उत्तराधिकारी और recursion” की गणितीय परिभाषा अपने शब्दों में समझाना
- Python डेटा में उसका निरूपण बताना
- वास्तविक कोड से छोटा execution अनुमानित करना
शून्य और उत्तराधिकारी पियानो के आरंभिक अभिगृहीत हैं। `n + 0 = n` और `n + S(m) = S(n + m)` जोड़ की recursive परिभाषाएँ हैं।
`pre=None` शून्य और `pre=n`, `S(n)` है। 2 किसी int field में नहीं, `S(S(0))` chain में रखा जाता है।
`0` / `S(n)` → `NaturalNumber.pre`; recursive addition → `__add__`
गणितीय परिभाषा
गणितीय परिभाषा¶
शून्य और उत्तराधिकारी पियानो के आरंभिक अभिगृहीत हैं। n + 0 = n और n + S(m) = S(n + m) जोड़ की recursive परिभाषाएँ हैं।
डेटा निरूपण
डेटा निरूपण¶
pre=None शून्य और pre=n, S(n) है। 2 किसी int field में नहीं, S(S(0)) chain में रखा जाता है।
Python कार्यान्वयन
Python कार्यान्वयन¶
__eq__ शून्य और उत्तराधिकारी अलग कर predecessors की तुलना करता है; __add__ की branches दोनों जोड़ समीकरणों से सीधे मिलती हैं।
पाठ्यक्रम में उपयोग किया गया सटीक संबंध:
Execution trace
Execution trace¶
2 + 2 में दायाँ operand शून्य तक घटता है; लौटते समय आधार स्थिति पहले और बाहरी calls बाद में दिखते हैं।
आधार log, अंतिम recursive log और अंतिम मान लिखें।
पहले अनुमान लिखें, फिर चलाएँ।
Test से जाँच
Test से जाँच¶
test शून्य का भेद, उत्तराधिकारी की injectivity और जोड़ के समीकरण जाँचते हैं, induction का स्थान नहीं लेते।
दायरा और सीमाएँ
दायरा और सीमाएँ¶
unary chain संरचना दिखाती है पर मान के साथ महँगी होती है; छोटे input रखें।