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

पायथन में किसी संख्या का बेहतर भाजक खोजने का प्रोग्राम


मान लीजिए हमारे पास एक संख्या n है। हमें n का भाजक ढूंढना है जो इन शर्तों के आधार पर बेहतर है: हमारे पास दो संख्याएं p और q हैं, वह जिसका अंकों का योग बड़ी संख्या है, उसे दूसरे से बेहतर कहा जाता है। जब अंकों का योग समान होता है, तो छोटी संख्या बेहतर होती है।

उदाहरण के लिए, यदि इनपुट n = 180 है, तो आउटपुट 9 होगा क्योंकि भाजक हैं [1, 2, 3, 4, 5, 6, 9, 10, 12, 15, 18, 20, 30, 36, 45, 60, 90, 180]। तो जिन संख्याओं के अंकों का योग अधिकतम है वे हैं [9, 18, 36, 45, 90, 180], लेकिन उनमें से 9 बेहतर संख्या है क्योंकि इसका मान छोटा है।

समाधान दृष्टिकोण

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

  • div := 1, md := 1
  • i के लिए 2 से n तक की रेंज में, करें
    • k := i
    • यदि n mod i > 0, तो
      • अगले इटरेशन के लिए जाएं
    • s := 0
    • जब तक k > 0, करें
      • s := s + k mod 10
      • k := k / 10
    • यदि s > md, तो
      • md := s
      • div := i
  • div लौटाएं

उदाहरण

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

def solve(n):
    div = 1
    md = 1
    for i in range(2, n + 1):
        k = i
        if n % i > 0:
            continue
        s = 0
        while k > 0:
            s += k % 10
            k //= 10
        if s > md:
            md = s
            div = i
    return div

n = 180
print(solve(n))

इनपुट

180

आउटपुट

9
  1. पायथन में BST में रेंज में नोड्स की संख्या खोजने का प्रोग्राम पायथन में BST में रेंज में नोड्स की संख्या खोजने का प्रोग्राम

    मान लीजिए हमारे पास एक BST है, और हमारे पास बाएं और दाएं बाउंड l और r भी हैं, हमें रूट में उन सभी नोड्स की संख्या गिननी है जिनके मान l और r के बीच हैं (सम्मिलित)। उदाहरण के लिए, यदि इनपुट जैसा है: l = 7, r = 13, तो आउटपुट 3 होगा, क्योंकि तीन नोड्स हैं: 8, 10, 12। इसे हल करने के लिए हम निम्न चरणों

  1. Python प्रोग्राम से सूची में सबसे छोटी संख्या खोजना Python प्रोग्राम से सूची में सबसे छोटी संख्या खोजना

    इस लेख में, हम नीचे दिए गए समस्या कथन के समाधान के बारे में जानेंगे। समस्या कथन - हमें एक सूची दी गई है, हमें सूची में उपलब्ध सबसे छोटी संख्या प्रदर्शित करने की आवश्यकता है। यहां हम या तो सूची को क्रमबद्ध करके सबसे छोटा तत्व प्राप्त कर सकते हैं या बिल्ट-इन min() फ़ंक्शन का उपयोग करके सबसे छोटा तत्

  1. पायथन प्रोग्राम: किसी संख्या के सम गुणनखंडों का योग ज्ञात करें पायथन प्रोग्राम: किसी संख्या के सम गुणनखंडों का योग ज्ञात करें

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