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

पायथन में किसी सूची के सभी क्रमपरिवर्तनों के विशेष मानों का औसत गिनने का प्रोग्राम


मान लीजिए हमारे पास तत्वों की एक सूची है, हम निम्न एल्गोरिथम द्वारा S का मान निकाल सकते हैं।

जब तक L का आकार > 1 शून्येतर है, करें
    a := L[0]
    b := L[1]
    L[1] को हटाएं
    L[0] := a + b + a*b
वापस करें L[0] mod (10^9 + 7)

यहां हमें L के सभी संभावित क्रमपरिवर्तनों से गणना किए गए सभी S मानों का औसत ज्ञात करना है।

इसलिए, यदि इनपुट है L = [5,3,4], तो आउटपुट 119 होगा, क्योंकि L के सभी क्रमपरिवर्तनों के लिए S का मान 119 है, इसलिए उनका औसत भी 119 है।

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

  • m := 10^9+7
  • li := L में सभी x के लिए x+1 की सूची
  • prod := 1
  • li में प्रत्येक i के लिए, करें
    • prod := prod * i
    • prod := prod mod m
  • वापस करें (prod-1) mod m

उदाहरण

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

def solve(L):
    m = 10**9+7
    li = [x+1 for x in L]
    prod = 1
    for i in li:
        prod *= i
        prod %= m
    return (prod-1) % m

L = [5,3,4]
print(solve(L))

इनपुट

[5,3,4]

आउटपुट

119
  1. पायथन प्रोग्राम: दी गई स्ट्रिंग के सभी क्रमपरिवर्तन प्रिंट करें पायथन प्रोग्राम: दी गई स्ट्रिंग के सभी क्रमपरिवर्तन प्रिंट करें

    इस लेख में हम दी गई समस्या के समाधान के बारे में जानेंगे। समस्या कथन हमें एक स्ट्रिंग दी गई है, हमें स्ट्रिंग के सभी संभावित क्रमपरिवर्तन प्रदर्शित करने हैं। उदाहरण # रूपांतरण def toString(List): return .join(List) # क्रमपरिवर्तन def permute(a, l, r): if l == r: print(toString(a))

  1. - सूची के सभी सबलिस्ट प्रिंट करने के लिए पायथन प्रोग्राम

    समस्या विवरण एक सूची दी गई है, उसके सभी सबलिस्ट प्रिंट करें। उदाहरण इनपुट: list = [1, 2, 3] आउटपुट: [], [1], [1, 2], [1, 2, 3], [2], [2, 3], [3] एल्गोरिदम एक सूची दी गई है। एक खाली सबलिस्ट लें। दिए गए सूची की लंबाई तक एक लूप चलाएं। i+1 से सूची की लंबाई तक एक और लूप चलाएं ताकि i से दाईं ओर के सभी

  1. - पायथन में लिस्ट के सभी परम्यूटेशन कैसे जनरेट करें?

    आप पायथन में लिस्ट के सभी परम्यूटेशन खोजने के लिए itertools पैकेज के permutations मेथड का उपयोग कर सकते हैं। आप इसका उपयोग इस प्रकार कर सकते हैं: उदाहरण import itertools perms = list(itertools.permutations([1, 2, 3])) print(perms) आउटपुट यह आउटपुट देगा: [(1, 2, 3), (1, 3, 2), (2, 1, 3), (2, 3, 1),