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

पायथन में स्ट्रिंग के रूप में दी गई संख्या के सभी सबस्ट्रिंग्स का कुल योग खोजने का प्रोग्राम


मान लीजिए हमारे पास स्ट्रिंग फॉर्मेट में एक संख्या है, और हमें s के सभी सबस्ट्रिंग्स का योग ढूंढना है। उत्तर बहुत बड़ा हो सकता है, इसलिए परिणाम को 10^9+7 मॉड्यूलो वापस करें।

उदाहरण के लिए, यदि इनपुट s = "268" है, तो आउटपुट 378 होगा क्योंकि सबस्ट्रिंग्स हैं "2", "6", "8", "26", "68" और "268" जिनका कुल योग 378 है।

हल करने के चरण

  1. M := 10^9 + 7
  2. sum_val := 0
  3. B := 1
  4. res := 0
  5. i को len(s) - 1 से 0 तक घटाते हुए लूप चलाएं:
    • res := (res + int(s[i]) * B * (i + 1)) % M
    • sum_val := sum_val - int(s[i])
    • B := (B * 10 + 1) % M
  6. res वापस करें।

उदाहरण

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

def solve(s):
    M = 10**9 + 7
    sum_val = 0
    B = 1
    res = 0
    for i in range(len(s) - 1, -1, -1):
        res = (res + int(s[i]) * B * (i + 1)) % M
        sum_val -= int(s[i])
        B = (B * 10 + 1) % M
    return res

s = "268"
print(solve(s))

इनपुट

"268"

आउटपुट

378
  1. पायथन प्रोग्राम: किसी संख्या के सम गुणनखंडों का योग ज्ञात करें पायथन प्रोग्राम: किसी संख्या के सम गुणनखंडों का योग ज्ञात करें

    इस लेख में हम दी गई समस्या के समाधान के बारे में जानेंगे। समस्या कथन हमें एक संख्या दी गई है, हमें उस संख्या के सभी सम गुणनखंडों का योग प्रदर्शित करना है। दृष्टिकोण हम जांचते हैं कि क्या संख्या विषम है, तो कोई सम गुणनखंड नहीं हैं, इसलिए 0 वापस करें। यदि संख्या सम है, तो हम गणना के माध्यम से जाते हैं

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

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

  1. - पायथन प्रोग्राम: दिए गए स्ट्रिंग में शब्द गिनें

    स्ट्रिंग में शब्दों की संख्या गिनने के कई तरीके हैं। सरल दृष्टिकोण व्हाइटस्पेस सेपरेटर का उपयोग करता है। विधि 1: फोर लूप (मूल) def count_words_for(text): total = 1 # कम से कम एक शब्द (यदि खाली नहीं) for i in range(len(text)): if text[i] in ( , \n, \t): total += 1 re