3 चर की एक जोड़ी की तुलना करने के लिए मटमैटिक तरीका


14

मुझे जावा में उनके आदेश की अनदेखी करते हुए, 3 सकारात्मक दोहरे चर की एक जोड़ी की तुलना करने के लिए असाइनमेंट दिया गया था। मैंने निम्नलिखित कार्य किया:

if ((a1 == a2 && b1 == b2 && c1 == c2) ||
    (a1 == a2 && b1 == c2 && c1 == b2) ||
    (a1 == b2 && b1 == a2 && c1 == c2) ||
    (a1 == b2 && b1 == c2 && c1 == a2) ||
    (a1 == c2 && b1 == a2 && c1 == b2) ||
    (a1 == c2 && b1 == b2 && c1 == a2))
    // if true

मैंने शिक्षक से सुना है कि इस जोड़ी की 3 संख्याओं की तुलना करने का एक गणितीय तरीका है।

अब तक, मैंने उनके जोड़, घटाव, उनकी शक्ति का योग 2 से तुलना करने की कोशिश की है, लेकिन मुझे हमेशा एक मामला मिला जहां जोड़ी अलग थी और बयान सच था।

कोई विचार?

संपादित करें:

मैंने पहले ही असाइनमेंट भेज दिया और शिक्षक ने कहा कि मेरा उत्तर सही था। मैं जिज्ञासा से बाहर पूछ रहा हूँ।


मैं इस प्रश्न को बंद करने के लिए मतदान कर रहा हूं, मुझे लगता है कि इस प्रश्न का उत्तर देना धोखा में पोस्टर का समर्थन करना है। यदि शिक्षिका कहती है कि इसका जवाब है, तो निश्चित रूप से वह समय पर इसका खुलासा कर देगी। यह हस्तक्षेप करने की जगह नहीं है
ControlAltDel

@ControlAltDel यह धोखा नहीं है क्योंकि मैंने पहले ही असाइनमेंट भेज दिया है ... मैं जिज्ञासा से बाहर पूछ रहा हूं
AceVentuRa

2
कब से हम लोगों को उनके होमवर्क के साथ मदद नहीं करते हैं?
WJS

क्या आप उन मामलों को जोड़ सकते हैं जहां जोड़ी अलग थी और कथन सत्य था ?
इरिट्रिया

2
@ControlAltDel यह ऑफ़-टॉपिक नहीं है क्योंकि ओपी स्पष्ट रूप से इंगित करता है कि उन्होंने किस कोड की कोशिश की और इसे हल करने में उनकी कठिनाई क्या है। होमवर्क के सवालों पर कोई स्पष्ट प्रतिबंध नहीं है। ऑन-टॉपिक गाइड में बिंदु # 3 देखें ।
EJoshuaS -

जवाबों:


12

टी एल; डॉ

प्रत्येक ट्रिपलेट, प्रत्येक ट्रिपलेट के उत्पाद और प्रत्येक ट्रिपल के सभी संभव संयोजनों के उत्पादों के योग की तुलना करें।

एक पदार्थ का मौलिक तत्व

डिग्री एन के एक बहुपद के लिए बीजगणित के मौलिक सिद्धांत द्वारा , हमारे पास एन जड़ होना चाहिए।

इस तथ्य का उपयोग करके हम अपने शून्य को होने देते हैं a1, a2, and a3। अब, हम इस बहुपद के गुणांक का पता लगाते हैं।

(x - a1) * (x - a2) * (x - a3)
(x^2 - (a1 + a2) * x + a1a2) * (x - a3) 
x^3 - (a1 + a2) * x^2 + (a1a2) * x - a3 * x^2 + (a1a3 + a2a3) * x - a1a2a3

x^3 + (-1 * (a1 + a2 + a3)) * x^2 + (a1a2 + a1a3 + a2a3) * x + (-1 * a1a2a3)

यदि दो बहुपद समतुल्य हैं, तो उनकी जड़ें (FTA द्वारा फिर से) समान होनी चाहिए। इस प्रकार हम सभी को करने की जरूरत है उत्पन्न बहुपद के गुणांक की तुलना करें।

तो अगर,

(-1 * (a1 + a2 + a3) == (-1 * (b1 + b2 + b3))
      ---equivalently---
a1 + a2 + a3 == b1 + b2 + b3

तथा

(a1a2 + a1a3 + a2a3) == (b1b2 + b1b3 + b2b3)

तथा

-1 * a1a2a3 == -1 * b1b2b3
      ---equivalently---
a1a2a3 == b1b2b3

फिर हम तीनों निष्कर्ष निकाल सकते हैं a1, a2, a3और b1, b2, b3समतुल्य हैं।

यह इसके लायक है?

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

पहली जाँच: सम और तुलना। इसके लिए 4 कुल योगों की आवश्यकता है और 1 समानता के लिए जाँच करें।

कुल जाँच = 5; कुल चलाना = ५

दूसरा चेक: उत्पाद, सम, और तुलना। इसके लिए 6 कुल गुणा, 4 कुल जोड़ और 1 चेक की आवश्यकता है।

कुल जांच = 11; कुल चलाना = १६

तीसरी जाँच: उत्पाद और तुलना। इसके लिए 4 कुल गुणा और 1 चेक की आवश्यकता है।

कुल जाँच = 5; कुल चलाना = २१

दो तार्किक और संक्रियाओं को जोड़कर, "उत्पन्न बहुपद दृष्टिकोण के गुणांक" के लिए द्विआधारी संचालन की कुल संख्या केवल निम्नलिखित है:

23 बाइनरी ऑपरेशन

ब्रूट फोर्स चेक के लिए कुल 18 समतुल्यता जाँच, 12 तार्किक और तुलना, और 5 तार्किक या कुल के लिए तुलना की आवश्यकता है:

35 बाइनरी ऑपरेशन

तो, कड़ाई से बोलते हुए , जवाब हां है, "उत्पन्न बहुपद दृष्टिकोण के गुणांक" वास्तव में अधिक कुशल है। हालाँकि, जैसा कि @WJS बताता है, ब्रूट फोर्स एप्रोच में शॉर्ट सर्कुलेटिंग के कई और अवसर होते हैं और इस तरह गणितीय दृष्टिकोण से अधिक कुशलता से निष्पादित होता है।

पूर्णता के लिए

हम प्रत्येक ट्रिपल के सभी संभावित संयोजनों के उत्पादों की राशि की जाँच करना नहीं छोड़ सकते। अगर हम इसे छोड़ दें, तो ऐसे अनगिनत उदाहरण हैं जहाँ यह विफल है। विचार करें (23, 32, 45)और (24, 30, 46)* :

23 + 32 + 45 = 100
24 + 30 + 46 = 100

23 * 32 * 45 = 33120
24 * 30 * 46 = 33120

वे समान नहीं हैं, लेकिन समान राशि और उत्पाद देते हैं। हालांकि वे सभी संभावित संयोजनों के उत्पादों का एक ही योग नहीं देते हैं:

23 * 32 + 23 * 45 + 32 * 45 = 3211
24 * 30 + 24 * 46 + 30 * 46 = 3204

* यदि कोई व्यक्ति उत्सुक है कि ऊपर दिए गए एक उदाहरण के समान कैसे प्राप्त किया जाए, तो पहले एक पूर्णांक M की लंबाई 3 के सभी पूर्णांक विभाजन उत्पन्न करें , उनका उत्पाद लें, डुप्लिकेट ढूंढें, और एक जोड़ी चुनें।


1
मेरी इच्छा है कि हम लाटेकस
जोसेफ वुड

1
लेकिन आपकी एफटीए पद्धति में, सभी परीक्षण किए जाने चाहिए। ब्रूट फोर्स एप्रोच में कुछ तुलना कम सर्कुलेट की जाएगी। तो यह उतना बुरा नहीं है जितना लगता है।
WJS

2
@JS, सहमत। आप इस दृष्टिकोण के बारे में एक ही बात कह सकते हैं न कि केवल उस सीमा तक, जहाँ आप जानवर बल के दृष्टिकोण के साथ पहुँच सकते हैं। वास्तव में, मैं शर्त लगाता हूं कि अधिकांश मामलों के लिए जानवर बल दृष्टिकोण शॉर्ट सर्किटिंग के कारण तेज या तेज होगा। टीबीएच, अगर मैं इसे कोड करने के लिए था, तो मैं शायद जानवर बल दृष्टिकोण का उपयोग करूंगा क्योंकि यह समझने में कई बार आसान है।
जोसेफ वुड

-1

यदि आपको सॉर्ट करने की अनुमति है (a1 <= b1 <= c1 और a2 <= b2 <= c2) तो 2 ^ a1 * 3 ^ b1 * 5 ^ c1 के साथ 2 ^ a2 * 3 ^ b2 / 5 ^ c2 की तुलना करके देखें। (आधार के रूप में अभाज्य संख्या 2, 3, 5 का उपयोग करते हुए)


क्या आप इस उत्तर की व्याख्या कर सकते हैं, कृपया
AceVentuRa

1
अगर छँटाई की अनुमति है, तो आपको बस a1 == b1 और a2 = b2 और a3 == b3 की तुलना करना होगा।
जेबी निज़ेट

मैं समझता हूं कि यह गणितीय तरीके से पूछा गया था ...
ब्रूनो

@Bruno मुझे यकीन है कि मेरे शिक्षक का मतलब क्या था, एक ifबयान और उस में ifउनकी तुलना करने के गणितीय तरीके को लिखना, बिना छांटे।
AceVentuRa

आप दोहरे मानों के साथ primes का उपयोग कैसे करते हैं जिसमें कुछ अंश हो सकता है।
WJS
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.