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

पाइथॉन में नियमों को बनाए रखते हुए वितरित करते समय कई बच्चों को कुदाल खोजने का कार्यक्रम मिलेगा

मान लीजिए हमारे पास k कैंडीज की संख्या है। हमें उन्हें बच्चों में बांटना है। अब कुछ नियम हैं

  • इस बच्चे को i^2 कैंडीज की संख्या मिलेगी
  • इंडेक्स में कोई भी बच्चा मुझे तब तक कैंडी नहीं मिलेगी जब तक कि इंडेक्स 1 से i-i तक के सभी बच्चों को नहीं परोसा जाता
  • यदि ith बच्चों को i^2 कैंडीज नहीं मिलती है, तो यह मान्य सर्व नहीं है।

इसलिए, यदि इनपुट k =20 जैसा है, तो आउटपुट 3 होगा, क्योंकि पहले वाले को 1 मिलेगा, दूसरे को 2^2 =4 मिलेगा, तीसरे को 3^2 =9 मिलेगा, लेकिन चौथे को 4 की आवश्यकता होगी। ^2 =16, लेकिन हमारे पास केवल 6 कैंडी बची हैं, इसलिए यह एक मान्य वितरण नहीं है, इसलिए केवल तीन बच्चों को परोसा जाएगा।

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

  • बाएं:=0, दाएं:=k
  • दाएं-बाएं> 1, करते समय
    • मध्य :=तल (बाएं + दाएं) / 2
    • यदि मंजिल (मध्य * (मध्य + 1) * (2 * मध्य + 1) / 6)> k, तो
      • दाएं:=मध्य
    • अन्यथा,
      • बाएं:=मध्य
  • यदि दाएँ *(दाएँ + 1) *(2 * दाएँ + 1) <=k * 6, तो
    • दाएं लौटें
  • बाएं लौटें

उदाहरण

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

def solve(k):
   left = 0
   right = k
   while (right - left > 1):
      mid = (left + right) // 2
      if (mid * (mid + 1) * (2 * mid + 1) // 6 > k):
         right = mid
      else:
         left = mid
   if (right * (right + 1) * (2 * right + 1) <= k * 6):
      return right
   return left

k = 20
print(solve(k))

इनपुट

20

आउटपुट

3

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

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

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

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

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

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