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

पायथन में न्यूनतम धनात्मक पूर्णांक खोजें जो A से विभाज्य हो और उसके अंकों का योग B के बराबर हो


मान लीजिए हमारे पास दो संख्याएं A और B हैं, हमें न्यूनतम धनात्मक संख्या M ढूंढनी है ताकि M, A से विभाज्य हो और M के अंकों का योग B के समान हो। यदि ऐसा कोई परिणाम नहीं है, तो -1 लौटाएं।

तो, यदि इनपुट A = 50, B = 2 जैसा है, तो आउटपुट 200 होगा क्योंकि यह 50 से विभाज्य है और इसके अंकों का योग = 2 + 0 + 0 = 2 है।

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

  • एक तत्व प्रकार का कंटेनर परिभाषित करें, जिसमें दो संख्याएं a और b और एक स्ट्रिंग हो

  • que := एक नई सूची

  • elem := (0, 0, खाली स्ट्रिंग) के साथ एक नया तत्व

  • visited[0, 0] := 1

  • que के अंत में elem डालें

  • जब que का आकार > 0 हो, करें:

    • temp_elem := que से पहला तत्व हटाएं

    • यदि temp_elem.a 0 है और temp_elem.b, b है, तो:

      • temp_elem.string का पूर्णांक लौटाएं

    • i को 0 से 9 तक के लिए, करें:

      • x := (temp_elem.a * 10 + i) mod a

      • y := temp_elem.b + i

      • यदि y <= b और visited[x, y] गलत है, तो:

        • visited[x, y] := 1

        • x, y और temp_elem.string को i के साथ जोड़कर que में नया तत्व डालें

  • -1 लौटाएं

उदाहरण

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

visited = [[0 for x in range(501)] for y in range(5001)] class Element:    def __init__(self, a, b, string):       self.a = a       self.b = b       self.string = string def get_number(a, b):    que = []    elem = Element(0, 0, "")    visited[0][0] = 1    que.append(elem)    while len(que) > 0:       temp_elem = que.pop(0)       if temp_elem.a == 0 and temp_elem.b == b:          return int(temp_elem.string)       for i in range(0, 10):          x = (temp_elem.a * 10 + i) % a          y = temp_elem.b + i          if y <= b and visited[x][y] == False:             visited[x][y] = 1             que.append(Element(x, y, temp_elem.string + str(i)))    return -1 a, b = 50, 2 print(get_number(a, b))

इनपुट

50, 2

आउटपुट

200

  1. - पायथन में दो दिए गए ऐरे से सब-अरे खोजें जिनका योग समान हो

    मान लीजिए हमारे पास दो ऐरे P और Q हैं जिनका आकार N है, वे 1 से N तक की संख्याएं रखते हैं। हमें दिए गए ऐरे से सब-अरे ढूंढने हैं ताकि उनका योग समान हो। अंत में ऐसे सब-अरे के इंडेक्स लौटाएं। यदि कोई समाधान नहीं है, तो -1 लौटाएं।तो, यदि इनपुट P = [2, 3, 4, 5, 6], Q = [9, 3, 2, 6, 5] जैसा है, तो आउटपुट ह

  1. - Python - ऐसी पॉजिटिव संख्या M ढूंढना जिससे gcd(N^M, N&M) अधिकतम हो

    मान लीजिए हमारे पास एक संख्या N है, हमें एक पॉजिटिव संख्या M ढूंढनी है जिससे gcd(N^M, N&M) जितना संभव हो उतना बड़ा हो और m < n। हम प्राप्त किए गए सबसे बड़े gcd को भी लौटाएंगे। तो, यदि इनपुट 20 जैसा है, तो आउटपुट 31 होगा। इसे हल करने के लिए, हम इन चरणों का पालन करेंगे: यदि bit_count(n), 0 के समान है

  1. - Python में Pandas और उसके निर्भरताओं का संस्करण कैसे जांचें

    Pandas Python में डेटा विश्लेषण के लिए एक महत्वपूर्ण पैकेज है। Pandas के विभिन्न संस्करण उपलब्ध हैं। संस्करण बेमेल के कारण कुछ समस्याएं हो सकती हैं। इसलिए हमें Pandas के संस्करण संख्या जानने की आवश्यकता होती है। हम निम्न कोड का उपयोग करके इसे आसानी से देख सकते हैं।संस्करण प्राप्त करने के लिए निम्न क