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

पायथन में किसी संख्या से न्यूनतम अंक हटाकर गठित सबसे बड़ा घन खोजें

मान लीजिए कि हमारे पास एक संख्या एन है, हमें सबसे बड़ा पूर्ण घन निर्धारित करना है जो कि संख्या से न्यूनतम अंक (संभवतः 0) को हटाकर उत्पन्न किया जा सकता है। लक्ष्य तक पहुंचने के लिए हम दी गई संख्या में से किसी भी अंक को हटा सकते हैं। जैसा कि हम जानते हैं कि एक संख्या N को एक पूर्ण घन कहा जाता है यदि किसी पूर्णांक M के लिए N =M^3 हो।

तो, अगर इनपुट 806 की तरह है, तो आउटपुट 8 होगा, क्योंकि हम संख्या से 0 और 6 को हटा सकते हैं, तो हमें 8 मिलेगा, यह 2 का पूर्ण घन है।

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

  • एक फ़ंक्शन को परिभाषित करें preProcess() । इसमें n
  • . लगेगा
  • temp_cubes :=एक नई सूची
  • i श्रेणी 1 से n^(1/3) की सीमा तक, do
    • घन =i^3
    • क्यूबस्ट्रिंग :=क्यूब एक स्ट्रिंग के रूप में
    • temp_cubes के अंत में क्यूबस्ट्रिंग डालें
    • temp_cubes लौटाएं
  • एक फ़ंक्शन को हल करें() परिभाषित करें। इसमें num,temp_cubes
  • लगेगा
  • temp_cubes को उल्टा करें
  • कुल घन :=temp_cubes का आकार
  • मैं के लिए 0 से कुल क्यूब की श्रेणी में, करते हैं
    • अस्थायी:=temp_cubes[i]
    • digitsInCube :=अस्थायी आकार
    • सूचकांक:=0
    • अंकों की संख्या:=संख्या का आकार
    • जे के लिए 0 से लेकर अंकों की संख्या तक, करें
      • यदि num[j] temp[index] के समान है, तो
        • सूचकांक :=अनुक्रमणिका + 1
      • यदि डिजिटइनक्यूब इंडेक्स के समान है, तो
        • वापसी का तापमान
  • वापसी "संभव नहीं"
  • विधि से निम्न कार्य करें -
  • temp_cubes :=पूर्वप्रक्रिया(n)
  • संख्या:=n स्ट्रिंग के रूप में
  • उत्तर:=हल करें (संख्या, temp_cubes)
  • वापसी उत्तर

उदाहरण

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

आयात करें ) temp_cubes.append(cubeString) वापसी temp_cubesdef हल (num,temp_cubes):temp_cubes =temp_cubes[::-1] totalCubes =len(temp_cubes) for i in range(totalCubes):temp =temp_cubes[i]digitInCube =len(temp ) अनुक्रमणिका =0 अंकइननंबर =लेन (संख्या) j के लिए श्रेणी में (अंकों की संख्या):अगर (संख्या [जे] ==अस्थायी [अनुक्रमणिका]):सूचकांक + =1 अगर (अंक इनक्यूब ==सूचकांक):वापसी अस्थायी वापसी "संभव नहीं है "def getLargestCube(n):temp_cubes =preProcess(n) num =str(n) ans =सॉल्व (num, temp_cubes) रिटर्न ansn =806print(getLargestCube(n))

इनपुट

806

आउटपुट

8

  1. C++ में दिए गए अंकों से बनने वाली सबसे बड़ी संख्या ज्ञात कीजिए

    मान लीजिए कि हमारे पास अंकों की एक सरणी है। हमें वह अधिकतम संख्या ज्ञात करनी है जो सरणी के सभी अंकों का उपयोग करके प्राप्त की जा सकती है। तो अगर सरणी [3, 3, 9, 6, 2, 5] की तरह है, तो अधिकतम संख्या 965332 हो सकती है। समस्या से, हम देख सकते हैं कि हम अंकों को गैर-बढ़ते क्रम में आसानी से सॉर्ट कर सकते

  1. पायथन में एक रोड ट्रिप में इंटरकंट्री ट्रैवेल्स की न्यूनतम संख्या का पता लगाने का कार्यक्रम

    मान लीजिए हमें एक सड़क यात्रा की योजना बनानी है जिसमें विभिन्न देशों के विभिन्न शहरों का दौरा करना शामिल है। हमारे पास सड़कों R की एक सूची है, जहां प्रत्येक तत्व को (x, y, लागत) के रूप में वर्णित किया गया है। x सड़क के शुरुआती शहर को दर्शाता है, y सड़क के गंतव्य शहर को दर्शाता है, और लागत उस सड़क से

  1. ग्राफ़ में सबसे बड़े गुट के न्यूनतम आकार का पता लगाने का कार्यक्रम (पायथन)

    मान लीजिए कि हमें एक ग्राफ दिया गया है और ग्राफ में सबसे बड़े समूह का न्यूनतम आकार ज्ञात करने के लिए कहा गया है। ग्राफ़ का एक समूह एक ग्राफ़ का एक उपसमुच्चय होता है, जहाँ प्रत्येक शीर्ष जोड़े आसन्न होते हैं, अर्थात प्रत्येक जोड़े के बीच एक किनारा मौजूद होता है। एक ग्राफ में सबसे बड़ा गुट ढूँढना बहुप