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

पायथन में जांचें कि k मॉनिटरिंग स्टेशन विशेष बिंदुओं की निगरानी के लिए पर्याप्त हैं या नहीं


मान लीजिए एक सेंसर मॉड्यूल है जो अपने आसपास के वातावरण को त्रिज्या r तक मॉनिटर कर सकता है। मॉड्यूल के मॉनिटरिंग सर्कल के लैटिस पॉइंट में कुछ चीजें हैं जिन्हें मॉनिटर करने की आवश्यकता है। तो, k संख्या के लो-पावर्ड मॉड्यूल रखे गए हैं ताकि वे केवल उन विशिष्ट बिंदुओं की निगरानी कर सकें। दिए गए त्रिज्या के वर्ग और k संख्या के लो-पावर्ड मॉड्यूल को देखते हुए, हमें यह पता लगाना होगा कि बिंदुओं को सही ढंग से मॉनिटर किया जा सकता है या नहीं। यदि निगरानी संभव है तो हम true वापस करते हैं, अन्यथा false वापस करते हैं।

उदाहरण के लिए, यदि इनपुट त्रिज्या का वर्ग (j) = 4, निगरानी बिंदुओं की संख्या (k) = 3 है, तो आउटपुट False होगा।

यदि j = 4, तो निगरानी सर्कल की परिधि पर 4 बिंदु हैं; वे हैं: (0,2), (0,-2), (2,0), और (-2,0)। तो, यदि हम तीन नए मॉनिटरिंग स्टेशन पेश करते हैं, तो हम बिंदुओं को पूरी तरह से मॉनिटर नहीं कर सकते।

हल करने के चरण

  1. square_set := 44721 तक के मानों के वर्ग वाला सेट
  2. i := 0
  3. res := 0
  4. i < (j ** 0.5) तक व्हाइल लूप चलाएं:
    • यदि (j - i**2) square_set में मौजूद है, तो:
      • res := res + 1
    • i := i + 1
  5. res := res * 4
  6. यदि k >= res, तो True वापस करें।
  7. अन्यथा, False वापस करें।

उदाहरण

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

square_set = set([z ** 2 for z in range(44722)])
def solve(j, k):
    i = 0
    res = 0
    while i < (j ** 0.5):
        if j - i ** 2 in square_set:
            res += 1
        i += 1
    res *= 4
    if k >= res:
        return True
    else:
        return False

print(solve(4, 3))

इनपुट

4, 3

आउटपुट

False
  1. Python में सभी बिंदुओं को जोड़ने की न्यूनतम लागत खोजने का प्रोग्राम Python में सभी बिंदुओं को जोड़ने की न्यूनतम लागत खोजने का प्रोग्राम

    मान लीजिए हमारे पास points नामक एक ऐरे है जिसमें कुछ पॉइंट्स (x, y) के रूप में हैं। अब दो पॉइंट्स (xi, yi) और (xj, yj) को जोड़ने की लागत उनके बीच की मैनहट्टन दूरी है, सूत्र है |xi - xj| + |yi - yj|। हमें सभी पॉइंट्स को जोड़ने की न्यूनतम लागत ढूंढनी है। उदाहरण के लिए, यदि इनपुट है points = [(0,0),(

  1. Python से दो एक्सप्रेशन ट्रीज़ के इक्विवेलेंट होने की जांच कैसे करें? Python से दो एक्सप्रेशन ट्रीज़ के इक्विवेलेंट होने की जांच कैसे करें?

    दोनों ट्रीज़ के लीफ नोड्स (ऑपरेंड्स) की फ्रीक्वेंसी काउंट करके तुलना करें: अगर समान तो ट्रीज़ इक्विवेलेंट हैं। एल्गोरिदम DFS से प्रत्येक ट्री के लीफ नोड्स (ऑपरेंड्स) की फ्रीक्वेंसी Counter में गिनें। दोनों काउंटर्स तुलना करें: dic1 == dic2। ऑपरेटर्स को इग्नोर करें, केवल ऑपरेंड्स मैटर करते हैं (कम्य

  1. Python में कितने क्यूब कटे हैं, यह खोजने का प्रोग्राम Python में कितने क्यूब कटे हैं, यह खोजने का प्रोग्राम

    मान लीजिए, a, b, और c आयामों के कई क्यूब्स हैं, और उनका उपयोग करके axbxc आयाम का एक नया बॉक्स बनाया जाता है। a, b, और c pairwise को-प्राइम हैं; gcd(a, b) = gcd(b,c) = gcd(c, a) = 1। हमें एक सिंगल स्लाइस के साथ बॉक्स को दो टुकड़ों में काटना है जैसा कि चित्र में दिखाया गया है। हमें यह पता करना है कि य