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

जांचें कि क्या वेक्टर ए को घुमाकर और वेक्टर सी को पायथन में जोड़कर वेक्टर बी तक पहुंचना संभव है

मान लीजिए हमारे पास 2D तल में तीन सदिश x, y और z हैं। हमें यह जांचना होगा कि क्या हम वेक्टर y को सदिश x से 90 डिग्री (घड़ी की दिशा में) घुमाकर प्राप्त कर सकते हैं या इसमें आवश्यकतानुसार जितनी बार z जोड़ सकते हैं।

इसलिए, यदि इनपुट x =(-4, -2) y =(-1, 2) z =(-2, -1) जैसा है, तो आउटपुट सही होगा क्योंकि हम स्थान प्राप्त करने के लिए x के साथ z जोड़ सकते हैं (-2, -1), फिर (-1, 2) प्राप्त करने के लिए 90° दक्षिणावर्त घुमाएं।

जांचें कि क्या वेक्टर ए को घुमाकर और वेक्टर सी को पायथन में जोड़कर वेक्टर बी तक पहुंचना संभव है

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

उपयोग() फ़ंक्शन को परिभाषित करें। इसमें p, q, r, s

. लगेगा
  • d :=r * r + s * s
  • यदि d, 0 के समान है, तो
    • सही लौटें जब p और q दोनों 0 हों, अन्यथा असत्य
  • सही लौटें जब (p * r + q * s) और (q * r - p * s) दोनों d से विभाज्य हों, अन्यथा असत्य
  • मुख्य विधि से निम्न कार्य करें -
  • यदि कोई उपयोग (x का p - x का q, y का p - q का y, r का x, r का y) या उपयोग (x का x + q का x, p + q का y[ 1], r का x, r का y) या उपयोग (x का p - y का q, y का p + x का q, x का r, y का r) या उपयोग (x का p + y का q, y का p - q का x, r का x, r का y) सत्य है, तो
    • सही लौटें
  • झूठी वापसी

उदाहरण

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

def util(p, q, r, s):
   d = r * r + s * s
   if d == 0:
      return p == 0 and q == 0
   return (p * r + q * s) % d == 0 and (q * r - p * s) % d == 0
def solve(p,q,r):
   if util(p[0] - q[0], p[1] - q[1], r[0], r[1]) or util(p[0] + q[0], p[1] + q[1], r[0], r[1]) or util(p[0] - q[1], p[1] + q[0], r[0], r[1]) or util(p[0] + q[1], p[1] - q[0], r[0], r[1]):
      return True
   return False
p = (-4, -2)
q = (-1, 2)
r = (-2, -1)
print(solve(p, q, r))

इनपुट

(-4, -2), (-1, 2), (-2, -1)

आउटपुट

True

  1. पायथन में 3 और 7

    मान लीजिए कि हमारे पास एक धनात्मक संख्या n है, हमें यह पता लगाना है कि हम 3 के कुछ गैर-ऋणात्मक गुणकों और 7 के कुछ गैर-ऋणात्मक गुणकों को जोड़ कर n बना सकते हैं या नहीं। इसलिए, अगर इनपुट 13 जैसा है, तो आउटपुट ट्रू होगा, क्योंकि 13 को 1*7+2*3 =13 के रूप में लिखा जा सकता है। इसे हल करने के लिए, हम इन च

  1. isprintable() पायथन और उसके अनुप्रयोग में

    इस लेख में, हम पायथन और उसके अनुप्रयोग में isprintable() के बारे में जानेंगे। प्रिंट करने योग्य () एक अंतर्निहित विधि है जिसका उपयोग स्ट्रिंग हैंडलिंग के उद्देश्य से किया जाता है। जब स्ट्रिंग में मौजूद सभी वर्ण प्रिंट करने योग्य होते हैं या स्ट्रिंग खाली होती है, तो isprintable () विधियाँ ट्रू लौटा

  1. डिवमॉड () पायथन और उसके अनुप्रयोग में

    Divmod () अजगर के मानक पुस्तकालय का हिस्सा है जो दो संख्याओं को मापदंडों के रूप में लेता है और भागफल और उनके विभाजन के शेष भाग को एक टपल के रूप में देता है। यह कई गणितीय अनुप्रयोगों में उपयोगी है जैसे संख्याओं की विभाज्यता की जाँच करना और यह स्थापित करना कि कोई संख्या अभाज्य है या नहीं। सिंटैक्स Syn