मान लीजिए कि हमारे पास तत्वों की एक सूची है जिसे हम निम्नलिखित एल्गोरिथम द्वारा एस के मान की गणना कर सकते हैं।
while size of L > 1 is non-zero, do a := L[0] b := L[1] remove L[1] L[0] := a + b + a*b return L[0] mod (10^9 + 7)
यहां हमें उन सभी S मानों का औसत ज्ञात करना होगा जिनकी गणना L के सभी संभावित संयोजनों से की जाती है।
इसलिए, यदि इनपुट L =[5,3,4] जैसा है, तो आउटपुट 199 होगा, क्योंकि L के सभी क्रमपरिवर्तन के लिए, S का मान 119 है, इसलिए उनका औसत भी 119 है।
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
- म :=10^9+7
- li :=L में सभी x के लिए x+1 की सूची
- उत्पाद :=1
- ली में प्रत्येक के लिए, करते हैं
- उत्पाद:=उत्पाद * मैं
- उत्पाद:=उत्पाद मॉड एम
- वापसी (उत्पाद-1) मॉड एम
उदाहरण
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -
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