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

पायथन का उपयोग करके n का kth कारक खोजने का कार्यक्रम

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

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

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

  • अगर k 1 के समान है, तो

    • वापसी 1

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

  • मैं के लिए 2 से 1 + तल (n का वर्गमूल) की सीमा में, करें

    • अगर n mod i 0 के समान है, तो

      • कैंड के अंत में i डालें

    • मी :=कैंडी का आकार

  • अगर k> 2*m या (k 2*m और n =(कैंडी का अंतिम तत्व) के समान है^2)

    • वापसी -1

  • अगर के <=मी, तो

    • वापसी कैंड [के -1]

  • फ़ैक्टर :=cand[2*m - k]

  • n/कारक का रिटर्न भागफल

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

उदाहरण

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. पायथन प्रोग्राम में सरणी का योग ज्ञात करें

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

  1. एक मैट्रिक्स के स्थानान्तरण को खोजने के लिए पायथन कार्यक्रम

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

  1. सरणी का योग खोजने के लिए पायथन कार्यक्रम

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