परिचय
इलेक्ट्रॉनिक्स प्रोजेक्ट का निर्माण करते समय, एक योजनाबद्ध एक असामान्य मूल्य (कहो, 510 ओम) के एक अवरोधक के लिए कॉल कर सकता है। आप अपने भागों की जांच करते हैं और पाते हैं कि आपके पास कोई 510-ओम प्रतिरोध नहीं है। लेकिन आपके पास इस मूल्य से ऊपर और नीचे कई सामान्य मूल्य हैं। समानांतर और श्रृंखला में प्रतिरोधों के संयोजन से, आपको 510-ओम अवरोधक को लगभग अच्छी तरह से समझने में सक्षम होना चाहिए।
कार्य
आपको एक फ़ंक्शन या प्रोग्राम लिखना होगा जो प्रतिरोधक मानों की सूची (प्रतिरोधक जो आप स्टॉक करते हैं) और एक लक्ष्य मान (जिसे आप अनुमानित करना चाहते हैं) को स्वीकार करता है। कार्यक्रम पर विचार करना चाहिए:
- व्यक्तिगत प्रतिरोधों
- श्रृंखला में दो प्रतिरोधक
- समानांतर में दो प्रतिरोधक
कार्यक्रम को स्टॉक सूची से 1 और 2 प्रतिरोधों के सभी संभावित संयोजनों की गणना करनी चाहिए (एक ही प्रतिरोधक मूल्य की दो प्रतियों सहित), उनकी श्रृंखला और समानांतर प्रतिरोध की गणना करें, फिर कॉन्फ़िगरेशन के अनुसार वे कितनी अच्छी तरह से लक्ष्य मान का अनुमान लगाते हैं।
आउटपुट स्वरूप प्रति पंक्ति एक कॉन्फ़िगरेशन होना चाहिए, जिसमें एक +
डीनोटिंग सीरीज़ और |
समरूपता को दर्शाते हुए, और नेट प्रतिरोध से पहले कुछ स्थान या एक = चिह्न होता है।
सूत्र
- एक प्रतिरोध का प्रतिरोध है
R1
- श्रृंखला में दो प्रतिरोधों का शुद्ध प्रतिरोध है
R1 + R2
- समानांतर में दो प्रतिरोधों का शुद्ध प्रतिरोध है
1 / (1/R1 + 1/R2)
- एक अनुमानित प्रतिरोध मान और लक्ष्य मान के बीच की दूरी को छद्म लघुगणक दूरी के रूप में गणना की जा सकती है, न कि रैखिक दूरी
dist = abs(Rapprox / Rtarget - 1)
:। उदाहरण के लिए, 200 100 के करीब 350 के करीब है। - एक बेहतर दूरी माप सही लघुगणक दूरी है
dist = abs(log(Rapprox/Rtarget))
, लेकिन चूंकि यह मूल प्रश्न में निर्दिष्ट नहीं किया गया था, इसलिए आप या तो माप का उपयोग करने के लिए स्वतंत्र हैं।
स्कोरिंग
स्कोर को सामान्य गोल्फ नियमों के अनुसार, कोड के पात्रों में मापा जाता है। सबसे कम स्कोर जीतता है।
उदाहरण
हमारे पास स्टॉक में निम्नलिखित प्रतिरोधक हैं [100, 150, 220, 330, 470, 680, 1000, 1500, 2200, 3300, 4700]
और 510
ओम को लक्षित करना चाहते हैं । कार्यक्रम को 143 कॉन्फ़िगरेशन का उत्पादन करना चाहिए, लगभग दिखाया गया है (आप प्रारूप को बदल सकते हैं, लेकिन सुनिश्चित करें कि अर्थ आसानी से निर्धारित किया गया है):
680 | 2200 519.444
1000 | 1000 500.
150 + 330 480.
220 + 330 550.
470 470
680 | 1500 467.89
680 | 3300 563.819
100 + 470 570.
220 + 220 440.
100 + 330 430.
470 | 4700 427.273
680 | 4700 594.052
1000 | 1500 600.
470 | 3300 411.406
680 | 1000 404.762
150 + 470 620.
...
many more rows
...
2200 + 4700 6900.
3300 + 4700 8000.
4700 + 4700 9400.
इस उदाहरण में, 510 ओम का सबसे अच्छा सन्निकटन 680- और 2200-ओम प्रतिरोधों द्वारा समानांतर में दिया गया है।
अब तक की प्रत्येक भाषा के सर्वश्रेष्ठ (1 जून 2014):
- जे - 70 चार
- एपीएल - 102 चार
- गणितज्ञ - १२२ चार
- रूबी - 154 चार
- जावास्क्रिप्ट - 156 चार
- जूलिया - 163 चार
- पर्ल - 185 चार
- पायथन - 270 चार