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

पायथन का उपयोग करके n का kवां गुणनखंड खोजने का प्रोग्राम


मान लीजिए हमारे पास दो सकारात्मक मान n और k हैं। अब n के सभी गुणनखंडों की सूची पर विचार करें जो आरोही क्रम में सॉर्ट की गई है, हमें इस सूची में kवां गुणनखंड ढूंढना है। यदि k से कम गुणनखंड हैं, तो -1 वापस करें।

उदाहरण के लिए, यदि इनपुट n = 28 k = 4 है, तो आउटपुट 7 होगा क्योंकि, 28 के गुणनखंड [1,2,4,7,14,28] हैं, चौथा 7 है।

हल करने के चरण

  • यदि k, 1 के समान है, तो

    • 1 वापस करें

  • cand := एक तत्व [1] वाली सूची

  • i को 2 से 1 + floor(sqrt(n)) तक की रेंज में लिए करें

    • यदि n mod i, 0 के समान है, तो

      • i को cand के अंत में डालें

  • m := cand का आकार

  • यदि k > 2*m या (k, 2*m के समान है और n, cand के अंतिम तत्व का वर्ग है)

    • -1 वापस करें

  • यदि k <= m, तो

    • cand[k-1] वापस करें

  • factor := cand[2*m - k]

  • n/factor का भागफल वापस करें

उदाहरण

from math import floor
def solve(n, k):
    if k == 1:
        return 1
    cand = [1]
    for i in range(2, 1 + floor(pow(n, 0.5))):
        if n % i == 0:
            cand.append(i)
    m = len(cand)
    if k > 2*m or (k == 2*m and n == cand[-1]**2):
        return -1
    if k <= m:
        return cand[k-1]
    factor = cand[2*m - k]
    return n // factor

n = 28
k = 4
print(solve(n, k))

इनपुट

28, 4

आउटपुट

7
  1. Python प्रोग्राम में ऐरे का योग खोजना Python प्रोग्राम में ऐरे का योग खोजना

    इस लेख में, हम नीचे दिए गए समस्या कथन के समाधान के बारे में जानेंगे। समस्या कथन - हमें एक ऐरे दिया गया है, हमें ऐरे का योग निकालने की आवश्यकता है। पूरे ऐरे को पार करने और प्रत्येक इंडेक्स पर तत्व को जोड़कर योग प्राप्त करने का ब्रूट-फोर्स दृष्टिकोण नीचे चर्चा किया गया है। उदाहरण # sum फ़ंक्शन def

  1. पायथन प्रोग्राम: मैट्रिक्स का ट्रांसपोज़ ढूंढें पायथन प्रोग्राम: मैट्रिक्स का ट्रांसपोज़ ढूंढें

    इस लेख में, हम दिए गए प्रॉब्लम स्टेटमेंट को हल करने के समाधान और दृष्टिकोण के बारे में सीखेंगे। प्रॉब्लम स्टेटमेंट एक मैट्रिक्स दिए जाने पर, हमें ट्रांसपोज़ को उसी मैट्रिक्स में स्टोर करना होगा और इसे प्रदर्शित करना होगा। मैट्रिक्स का ट्रांसपोज़ पंक्तियों को कॉलम में और कॉलम को पंक्तियों में बदलकर

  1. पायथन प्रोग्राम: ऐरे का योग ढूंढें पायथन प्रोग्राम: ऐरे का योग ढूंढें

    इस लेख में, हम दिए गए प्रॉब्लम स्टेटमेंट को हल करने के समाधान और दृष्टिकोण के बारे में सीखेंगे। प्रॉब्लम स्टेटमेंट इनपुट के रूप में एक ऐरे दिए जाने पर, हमें दिए गए ऐरे का योग निकालने की आवश्यकता है। यहां हम ब्रूट-फोर्स दृष्टिकोण का पालन कर सकते हैं यानी एक लिस्ट को ट्रैवर्स करना और प्रत्येक एलिमें