AWG를 인치로 변환


9

AWG (American Wire Gauge) 는 와이어 크기를 지정하는 일반적인 방법입니다. 이 과제의 과제는 주어진 게이지에서 와이어의 직경을 인치 단위로 변환하는 것입니다.

에서 게이지 인치 크기 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
  • 위키 백과 페이지 는 하드 코드의 모든 것을 원하지 않는 경우 사용을 시도 할 수있는 몇 가지 도움이 공식이있다
  • 최소한 3 개의 시그 피그에 대한 답변을 출력하십시오
  • 바이트 단위의 가장 짧은 코드가 승리합니다!

24
미터법을 사용하지 않기 위해 미국인들이 할 수있는 일이 놀랍습니다 : -P
Luis Mendo

2
이것은 일정한 출력이 아니라 출력으로 변환하기 때문에
kolmogorov-

입력을 배열로 취할 수 있습니까? 0000같은 [0, 0, 0, 0]40같은[40]
마일

답변:


3

자바 스크립트 (ES7), 36 바이트

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

"0000"형식으로 입력을받습니다.


3

J , 33 26 바이트

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

온라인으로 사용해보십시오!

게이지를 0보다 작은 문자열로 입력을 문자열로 취합니다. 해당 문자열의 색인을 찾아 0.46 (지름의0000 )을 39 번째 근 (92) (게이지 간 비율)으로 여러 번 .

설명

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. bash 매개 변수 확장은 ${1/\/0/*-1+1}이것을 -ve 숫자로 변환하고 산술을 올바르게하는 것을 추가합니다.

bc -l기본적으로 소수점 이하 20 자리를 제공합니다. bc의 지수 연산자 ^는 정수 지수 만 처리 할 수 ​​있으므로 ln(y*e(x))대신 사용됩니다.

온라인으로 사용해보십시오 .


출력 값에 선행 0이 없거나 직접 추가한다고 언급 할 수 있습니까? 참고로 더 많은 바이트로도 bc 스크립트에서 직접 해결할 수 있습니다.
seshoumara 2012

1

젤리 , 18 바이트

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

온라인으로 사용해보십시오!

tring을 가져와 숫자를 반환하는 monadic 링크. '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

05AB1E , 25 23 바이트

8Ø50/92ID1‹ig(>}3+39/m/

온라인으로 사용해보십시오!

설명

8Ø                       # push the 8th prime (0-indexed) = 23
  50/                    # divide by 50 = 0.46
     92                  # push 92
       I                 # push input
        D1‹i   }         # if input < 1
            g(>          # calculate -len(input)+1
                3+       # add 3
                  39/    # divide by 39
                     m   # raise 92 to this power
                      /  # divide 0.46 by this

0

엑셀, 53 49 바이트

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

0보다 작은 게이지를 문자열로 사용합니다 (1/0, 2/0 등).


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.