AWG को इंच में बदलें


9

AWG (अमेरिकन वायर गेज) तार आकार निर्दिष्ट करने का एक सामान्य तरीका है। इस चुनौती में आपका काम किसी दिए गए गेज से इंच के तार के व्यास में बदलना है।

नीचे से तालिका में दिखाए 4/0जाने वाले गेज के लिए इंच का आकार 40:

इंच की मेज पर गेज

| AWG | Diameter (Inches) |
|-----|-------------------|
| 4/0 | 0.46              |
| 3/0 | 0.4096            |
| 2/0 | 0.3648            |
| 1/0 | 0.3249            |
| 1   | 0.2893            |
| 2   | 0.2576            |
| 3   | 0.2294            |
| 4   | 0.2043            |
| 5   | 0.1819            |
| 6   | 0.162             |
| 7   | 0.1443            |
| 8   | 0.1285            |
| 9   | 0.1144            |
| 10  | 0.1019            |
| 11  | 0.0907            |
| 12  | 0.0808            |
| 13  | 0.072             |
| 14  | 0.0641            |
| 15  | 0.0571            |
| 16  | 0.0508            |
| 17  | 0.0453            |
| 18  | 0.0403            |
| 19  | 0.0359            |
| 20  | 0.032             |
| 21  | 0.0285            |
| 22  | 0.0253            |
| 23  | 0.0226            |
| 24  | 0.0201            |
| 25  | 0.0179            |
| 26  | 0.0159            |
| 27  | 0.0142            |
| 28  | 0.0126            |
| 29  | 0.0113            |
| 30  | 0.01              |
| 31  | 0.00893           |
| 32  | 0.00795           |
| 33  | 0.00708           |
| 34  | 0.0063            |
| 35  | 0.00561           |
| 36  | 0.005             |
| 37  | 0.00445           |
| 38  | 0.00397           |
| 39  | 0.00353           |
| 40  | 0.00314           |

स्पष्टीकरण

  • से कम गेज के लिए 0, आप 3/0या तो इनपुट ले सकते हैं000
  • आपको केवल दिए गए से समर्थन 4/0करना है40
  • विकिपीडिया पृष्ठ कुछ उपयोगी सूत्रों है अगर आप hardcode सब कुछ नहीं करना चाहते हैं तो आप उपयोग की कोशिश कर सकते
  • कम से कम 3 सिग-अंजीर के लिए अपने उत्तरों को आउटपुट करें
  • इस , तो बाइट्स जीत में सबसे छोटा कोड !

24
यह आश्चर्यजनक है कि अमेरिकी मीट्रिक प्रणाली का उपयोग करने से बचने के लिए क्या कर सकते हैं :-P
लुइस मेंडो

2
यह kolmogorov- जटिलता नहीं है क्योंकि यह आउटपुट में रूपांतरण है और निरंतर आउटपुट नहीं है
fəˈn Febt'k

क्या हम एक सरणी के रूप में इनपुट ले सकते हैं? 0000के रूप में [0, 0, 0, 0]और के 40रूप में[40]
मील

जवाबों:


3

जावास्क्रिप्ट (ईएस 7), 36 बाइट्स

s=>.46/92**(((+s||1-s.length)+3)/39)

"0000" प्रारूप में इनपुट लेता है।


3

जे , 33 26 बाइट्स

0.46%92^39%~*@".{3+".,~1-#

इसे ऑनलाइन आज़माएं!

शून्य के एक तार के रूप में गेज के साथ एक स्ट्रिंग के रूप में इनपुट लेता है। उस स्ट्रिंग के सूचकांक को ढूँढता है और 000092 के 39 वें रूट (गेज के बीच का अनुपात) से 0.46 (व्यास ) को विभाजित करता है।

व्याख्या

0.46%92^39%~*@".{3+".,~1-#  Input: string S
                         #  Length of S
                       1-   Subtract it from 1
                   ".,~     Eval S and append it, forms [1-len(S), eval(S)]
                 3+         Add 3 to each
            *@".            Sign of the eval
                {           Use that to index into the previous list
        39%~                Divide by 39
     92^                    Raise 92 to that power
0.46%                       Divide 0.46 by that and return

1

बाश + GNU बर्तन, 47

bc -l<<<"e(l(92)*(36-(${1/\/0/*-1+1}))/39)/200"

का उपयोग करते हुए सीधा अंकगणितीय अभिव्यक्ति मूल्यांकन bc। कमांड-लाइन पैरामीटर के रूप में दिया गया इनपुट।

0 से कम गैग्स दिए गए हैं n/0। बैश पैरामीटर विस्तार ${1/\/0/*-1+1}इन्हें -ve संख्याओं में परिवर्तित करता है और एक जोड़ता है जो अंकगणित को सही बनाता है।

bc -lडिफ़ॉल्ट रूप से 20 दशमलव स्थान देता है। bcघातांक ऑपरेटर ^केवल पूर्णांक घातांक को संभाल सकता है इसलिए ln(y*e(x))इसका उपयोग किया जाता है।

इसे ऑनलाइन आज़माएं


शायद उल्लेख है कि आउटपुट वैल्यू में अग्रणी शून्य की कमी है या इसे स्वयं जोड़ें? साइड नोट के रूप में, बीसी स्क्रिप्ट में इसे सीधे हल करने की संभावना है, हालांकि अधिक बाइट्स में।
शीशमारा

1

जेली , 18 बाइट्स

VoLC$+3÷39µ92*.46÷

इसे ऑनलाइन आज़माएं!

एक विवादास्पद लिंक एक ट्रिंग ले रहा है और एक नंबर लौटा रहा है। '0...0'मामलों के लिए कुछ अतिरिक्त उत्पादन का उत्पादन, लेकिन जैसा कि पहले दो लाइनों की अनदेखी करके देखा जा सकता है वापसी मान सही है, यहाँ

कैसे?

VoLC$+3÷39µ92*.46÷ - Main link: guageString
V                  - evaluate as Jelly code (a string of zeros evaluates to 0)
    $              - last two links as a monad
  L                -     length
   C               -     complement (1-length)
 o                 - Or (integer value for > 0, 1-lenght for strings of zeros)
     +3            - add 3
       ÷39         - divide by 39
          µ        - monadic chain separation (call the result p)
              .46÷ - 0.46 divided by
           92*     - 92 raised to the power of p



0

एक्सेल, 53 49 बाइट्स

=92^((36-IF(ISNUMBER(A1),A1,49-CODE(A1)))/39)/200

स्ट्रिंग के रूप में शून्य से कम गेज लेता है (1/0, 2/0 आदि)


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