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

जांचें कि क्या सभी उप-संख्याओं में पायथन में अलग-अलग अंक उत्पाद हैं

मान लीजिए कि हमारे पास एक संख्या n है, हमें यह जांचना है कि इस संख्या के सभी उप-संख्याओं में अद्वितीय अंकों का गुणनफल है या नहीं। जैसा कि हम जानते हैं, n अंकों की संख्या में n*(n+1)/2 उप-संख्याएँ होती हैं। उदाहरण के लिए, 135 की उप-संख्याएं 1, 3, 5, 13, 35, 135 हैं। और किसी संख्या का अंक गुणन उसके अंकों का गुणनफल होता है।

इसलिए, यदि इनपुट n =235 की तरह है, तो आउटपुट सही होगा क्योंकि उप संख्याएं [2, 3, 5, 23, 35, 235] हैं, अंक उत्पाद हैं [2, 3, 5, 6, 15, 30 ]

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

डिग_प्रोड () फ़ंक्शन को परिभाषित करें। इसमें अंक लगेंगे

  • उत्पाद:=1
  • अंकों में प्रत्येक d के लिए, करें
    • उत्पाद:=उत्पाद * घ
  • उत्पाद लौटाएं
  • मुख्य विधि से निम्न कार्य करें:
  • num_str :=num as string
  • लंबाई:=num_str का आकार
  • अंक:=आकार की लंबाई की एक सूची, और शुरू में सभी मान शून्य हैं
  • prod_set :=एक नया खाली सेट
  • 0 से लंबाई के बीच के लिए, करें
    • अंक[i] :=num_str[i] पूर्णांक के रूप में
  • मैं के लिए 0 से लंबाई -1 की सीमा में, करो
    • जे के लिए i से लंबाई -1 तक की श्रेणी में, करें
      • आइटम:=dig_prod(अंक [इंडेक्स i से j तक])
      • अगर आइटम prod_set में है, तो
        • झूठी वापसी
      • अन्यथा,
        • प्रोड_सेट में आइटम डालें
  • सही लौटें

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

उदाहरण

def dig_prod(digits):
   product = 1
   for d in digits:
      product *= d
   return product
def solve(num):
   num_str = str(num)
   length = len(num_str)
   digits = [None] * length
   prod_set = set()
   for i in range(0, length):
      digits[i] = int(num_str[i])
   for i in range(0, length):
      for j in range(i, length):
         item = dig_prod(digits[i:j+1])
         if item in prod_set:
            return False
         else:
            prod_set.add(item)
   return True
n = 235
print(solve(n))

इनपुट

235

आउटपुट

True

  1. पायथन - जांचें कि क्या सूची में सभी तत्व समान हैं

    कभी-कभी हमें यह जांचने की आवश्यकता होती है कि क्या सूची में सूची तत्वों के रूप में हमारे पास एक एकल मान दोहराया गया है। हम नीचे दिए गए पायथन प्रोग्राम का उपयोग करके ऐसे परिदृश्य की जांच कर सकते हैं। अलग-अलग तरीके हैं। लूप के लिए उपयोग करना इस पद्धति में हम सूची से पहले तत्व को पकड़ते हैं और प्रत्ये

  1. पायथन प्रोग्राम यह जांचने के लिए कि क्या एक स्ट्रिंग में सभी अद्वितीय वर्ण हैं

    इस लेख में, हम दिए गए समस्या कथन को हल करने के लिए समाधान और दृष्टिकोण के बारे में जानेंगे। समस्या कथन एक स्ट्रिंग इनपुट को देखते हुए, हमें यह पता लगाना होगा कि किसी स्ट्रिंग में सभी अद्वितीय वर्ण हैं या नहीं। दृष्टिकोण हम बूलियन मानों की एक सरणी बनाएंगे, जहां इंडेक्स i पर वेरिएबल फ्लैग इंगित कर

  1. पायथन प्रोग्राम फॉर चेक अगर किसी संख्या के सभी अंक इसे विभाजित करते हैं

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