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

पायथन में दी गई रेंज में एक अंक की घटनाओं को ज्ञात करने का प्रोग्राम


मान लीजिए हमें दो धनात्मक पूर्णांक n और d दिए गए हैं जहां d 0 से 9 तक का अंक है। हमें यह निर्धारित करना है कि 1 से n के बीच के पूर्णांकों में अंक d कितनी बार आता है।

उदाहरण के लिए, n=45, d=5 के लिए आउटपुट 5 होगा (संख्याएं: 5, 15, 25, 35, 45)।

एल्गोरिदम (रिकर्सिव डिजिट DP)

  • solve(n, d) फ़ंक्शन परिभाषित करें:
    • यदि n < 0, तो 0 वापस करें
    • k = n//10 - 1
    • ans = solve(k, d)*10 + k + 1
    • यदि d == 0, तो ans -= 1
    • m = n//10 * 10
    • जब m <= n:
      • ans += str(m).count(str(d))
      • m += 1
    • ans वापस करें
  • मुख्य फ़ंक्शन से solve(n, d) कॉल करें

उदाहरण

class Solution:
    def solve(self, n, d):
        if n < 0: return 0
        k = n//10 - 1
        ans = self.solve(k, d)*10 + k + 1
        if d == 0: ans -= 1
        m = n//10 * 10
        while m <= n:
            ans += str(m).count(str(d))
            m += 1
        return ans

ob = Solution()
print(ob.solve(45, 5))

इनपुट

45, 5

आउटपुट

5
  1. पायथन में जांचें कि ग्राफ सभी द्वारा पारगम्य है या नहीं पायथन में जांचें कि ग्राफ सभी द्वारा पारगम्य है या नहीं

    मान लीजिए, हमें एक ग्राफ दिया गया है जिसमें n शीर्ष हैं जो 0 से n-1 तक क्रमांकित हैं। ग्राफ अनिर्देशित है और प्रत्येक किनारे का एक भार है। ग्राफ में तीन प्रकार के भार हो सकते हैं और प्रत्येक भार एक विशेष कार्य को दर्शाता है। दो लोग हैं जो ग्राफ को पार कर सकते हैं, अर्थात् जैक और केसी। जैक ग्राफ को

  1. - पायथन में दिए गए मैट्रिक्स का ट्रांसपोज़ खोजने का प्रोग्राम

    मान लीजिए हमारे पास एक (n by n) मैट्रिक्स M है, हमें इसका ट्रांसपोज़ ढूंढना है। जैसा कि हम जानते हैं, मैट्रिक्स का ट्रांसपोज़ पंक्ति और स्तंभ इंडेक्स को स्विच करता है। अधिक औपचारिक रूप से, हर r और c के लिए, matrix[r][c] = matrix[c][r]। उदाहरण के लिए, यदि इनपुट है: 726 372 537 तो आउटपुट होगा:

  1. - पायथन में दिए गए समीकरण a + b = c से लापता मान खोजें

    मान लीजिए हमारे पास इस रूप में एक समीकरण है: a + b = c, अब a, b या c में से कोई एक पद लापता है। हमें लापता पद ढूंढना है। इसलिए, यदि इनपुट ? + 4 = 9 है, तो आउटपुट 5 होगा। समाधान दृष्टिकोण इसे हल करने के लिए हम निम्न चरणों का पालन करेंगे: स्ट्रिंग से सभी रिक्त स्थान हटाएं और + और = को कॉमा , में बदल