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

पायथन में शक्तिशाली पूर्णांक

मान लीजिए कि हमारे पास दो सकारात्मक पूर्णांक x और y हैं, हम कह सकते हैं कि एक पूर्णांक शक्तिशाली है यदि यह x^i + y^j के बराबर है, कुछ पूर्णांक i>=0 और j>=0 के लिए। हमें सभी की एक सूची ढूंढनी है -शक्तिशाली पूर्णांक जिनका मान बाउंड से कम या बराबर होता है।

इसलिए, यदि इनपुट x =2 और y =3 जैसा है और बाउंड 10 है, तो आउटपुट [2,3,4,5,7,9,10] होगा, जैसा कि 2 =2^0 + 3^ 0 3 =2^1 + 3^0 4 =2^0 + 3^1 5 =2^1 + 3^1 7 =2^2 + 3^1 9 =2^3 + 3^0 10 =2^ 0 + 3^2

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

  • ए, बी को 0 के रूप में प्रारंभ करें
  • res:=एक नई सूची
  • यदि x 1 के समान है और y 1 के समान है, तो
    • यदि बाध्य हो>=2, तो
      • रेस के अंत में 2 डालें
    • अन्यथा जब x 1 के समान हो, तो
      • जबकि y^b + 1 <=बाउंड, करें
        • y^b + 1 को रेस में डालें
        • b :=b + 1
    • अन्यथा जब y 1 के समान हो, तो
      • जबकि x^a + 1 <=बाउंड, करते हैं
        • रेस में x^a + 1 डालें
        • a :=a + 1
    • अन्यथा,
      • जबकि x^a + 1<=बाध्य है, करें
        • यदि x^a+y^b <=बाध्य है, तो
          • b :=b + 1
        • अन्यथा,
          • a :=a + 1
          • b:=0

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

उदाहरण

class Solution:
   def powerfulIntegers(self, x, y, bound):
      a,b=0,0
      res=[]
      if x==1 and y==1:
         if bound>=2:
            res.append(2)
         elif x==1:
            while y**b+1<=bound:
               res.append(y**b+1)
               b+=1
         elif y==1:
            while x**a+1<=bound:
               res.append(x**a+1)
               a+=1
         else:
            while x**a+1<=bound:
               if x**a+y**b<=bound:
                  res.append(x**a+y**b)
                  b+=1
         else:
            a+=1
            b=0
      return list(set(res))
ob = Solution()
print(ob.powerfulIntegers(2,3,10))

इनपुट

2,3,10

आउटपुट

[2, 3, 4, 5, 7, 9, 10]

  1. issuperset () पायथन में

    इस लेख में, हम पायथन में issuperset() और विभिन्न क्षेत्रों में इसके कार्यान्वयन के बारे में जानेंगे। यह विधि बूलियन ट्रू लौटाती है यदि एक सेट बी के सभी तत्वों में सभी तत्व सेट ए होते हैं जो एक तर्क के रूप में पारित होते हैं और यदि ए के सभी तत्व बी में मौजूद नहीं होते हैं तो झूठा रिटर्न देता है। इस

  1. अजगर में कैलेंडर

    पायथन में कैलेंडर मॉड्यूल में कैलेंडर और तिथियों से संबंधित सभी सुविधाओं को संभालने की विशेषताएं हैं। यह बहुत व्यापक रूप से उपयोग किए जाने वाले मॉड्यूल में से एक है जिसमें पायथन कार्यक्रमों में तिथियों का उपयोग करने के लिए कई अंतर्निहित कार्य हैं। उदाहरण import calendar print(calendar.calendar(2019)

  1. फ्रोजनसेट () पायथन में

    यह फ़ंक्शन एक परिवर्तनशील सूची को एक अपरिवर्तनीय सूची में बदलने में मदद करता है। इसकी आवश्यकता तब होती है जब हमने एक सूची घोषित की है जिसके आइटम परिवर्तनशील हैं लेकिन कुछ चरणों के बाद हम इसमें तत्वों को बदलने की अनुमति देना बंद करना चाहते हैं। ऐसे परिदृश्य में, हम नीचे दिखाए अनुसार फ्रोजनसेट () फ़ंक