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

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

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

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

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

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

  • square_set :=एक सेट जिसमें 44721 तक के मानों का वर्ग होता है
  • मैं :=0
  • res :=0
  • जबकि मैं <(j ^ 0.5), करते हैं
    • अगर (j - i ^ 2) वर्ग_सेट में मौजूद है, तो
      • रेस :=रेस + 1
    • i :=i + 1
  • रेस :=रेस * 4
  • यदि k>=res, तो
    • सही लौटें
  • अन्यथा,
    • झूठी वापसी

उदाहरण

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

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. पायथन में सभी बिंदुओं को जोड़ने के लिए न्यूनतम लागत खोजने का कार्यक्रम

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

  1. यह पता लगाने के लिए कार्यक्रम कि क्या दो अभिव्यक्ति पेड़ पायथन का उपयोग करने के बराबर हैं

    मान लीजिए, हमें दो व्यंजक वृक्ष दिए गए हैं। हमें एक प्रोग्राम लिखना है जो दो एक्सप्रेशन ट्री की जांच करता है और यह निर्धारित करता है कि एक्सप्रेशन ट्री समान मान उत्पन्न करते हैं या नहीं। दो एक्सप्रेशन ट्री हमें इन-ऑर्डर तरीके से प्रदान किए जाते हैं और यदि वे मेल खाते हैं तो हम एक ट्रू वैल्यू लौटाते

  1. कितने क्यूब्स काटे गए यह पता लगाने के लिए पायथन प्रोग्राम

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