Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Python

पायथन में r को 0 से n तक की रेंज में nCr मान कुशल तरीके से खोजने का प्रोग्राम


मान लीजिए हमें कई बार nCr मानों की गणना करनी है। हम इसे बहुत कुशल तरीके से हल कर सकते हैं। यदि हम nCr के निचले मानों को संग्रहीत करते हैं तो हम आसानी से उच्च मान खोज सकते हैं। तो यदि हमारे पास n है, तो हमें nC0 से nCn तक की सूची खोजनी है। यदि उत्तर बहुत बड़ा है तो उसे मॉड्यूलो 10^9 लौटाएं।

तो, यदि इनपुट n = 6 है, तो आउटपुट [1, 6, 15, 20, 15, 6, 1] होगा।

इसे हल करने के लिए, हम निम्न चरणों का पालन करेंगे:

  • items := एकल तत्व 1 वाली एक सूची
  • r को 1 से n तक की रेंज में, करें
    • items के अंतिम तत्व * (n-r+1) /r के फ्लोर को items के अंत में डालें
    • items[n-2] := items[n-2] mod 10^9 जहां n, items का आकार है
  • items लौटाएं

उदाहरण

बेहतर समझ के लिए निम्न कार्यान्वयन देखें:

def solve(n): items = [1] for r in range(1,n+1): items.append(items[-1]*(n-r+1)//r) items[-2] %= 10**9 return items n = 6 print(solve(n))

इनपुट

6 

आउटपुट

[1, 6, 15, 20, 15, 6, 1]

  1. पायथन प्रोग्राम: ऐरे मल्टीप्लिकेशन को n से विभाजित करने पर शेषफल ढूंढें पायथन प्रोग्राम: ऐरे मल्टीप्लिकेशन को n से विभाजित करने पर शेषफल ढूंढें

    इस लेख में, हम नीचे दिए गए प्रॉब्लम स्टेटमेंट के समाधान के बारे में सीखेंगे: प्रॉब्लम स्टेटमेंट कई नंबर और एक नंबर इनपुट n दिए जाने पर, हमें सभी नंबर को n से विभाज्य गुणा करने के बाद शेषफल प्रिंट करना होगा। दृष्टिकोण पहले, arr[i] % n जैसा शेषफल निकालें। फिर इस शेषफल को वर्तमान परिणाम से गुणा करे

  1. पायथन प्रोग्राम: संख्या का सबसे बड़ा प्राइम फैक्टर ढूंढें पायथन प्रोग्राम: संख्या का सबसे बड़ा प्राइम फैक्टर ढूंढें

    इस लेख में, हम नीचे दिए गए प्रॉब्लम स्टेटमेंट के समाधान के बारे में सीखेंगे: प्रॉब्लम स्टेटमेंट एक पॉजिटिव इंटीजर n दिए जाने पर। हमें संख्या का सबसे बड़ा प्राइम फैक्टर ढूंढने की आवश्यकता है। दृष्टिकोण दिए गए नंबर इनपुट को संख्या के डिवाइजर से विभाजित करके फैक्टराइज़ करें। अब अधिकतम प्राइम फैक्टर

  1. पायथन प्रोग्राम: सिलेंडर का परिमाप ज्ञात करें पायथन प्रोग्राम: सिलेंडर का परिमाप ज्ञात करें

    इस लेख में, हम नीचे दिए गए समस्या कथन के समाधान के बारे में जानेंगे -समस्या कथन - व्यास और ऊंचाई इनपुट करें, सिलेंडर का परिमाप ज्ञात करेंपरिमाप सिलेंडर का साइड व्यू है यानी एक आयतइसलिए Perimeter = 2 * (h + d)यहां d सिलेंडर का व्यास हैh सिलेंडर की ऊंचाई हैअब आइए कार्यान्वयन देखते हैंउदाहरण# सिलेंडर क