Chuyển đổi AWG sang Inch


9

AWG (American Wire đo) là một cách phổ biến để chỉ định kích thước dây. Nhiệm vụ của bạn trong thử thách này là chuyển đổi từ một thước đo nhất định sang đường kính của dây tính bằng inch.

Kích thước theo đơn vị inch cho máy đo từ 4/0để 40được trình bày trong bảng dưới đây:

Bảng đo đến inch

| 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           |

Làm rõ

  • Đối với đồng hồ đo nhỏ hơn 0, bạn có thể lấy đầu vào là 3/0hoặc000
  • Bạn chỉ cần sự hỗ trợ từ cho 4/0đến40
  • Các trang Wikipedia có một số công thức hữu ích bạn có thể thử sử dụng nếu bạn không muốn hardcode tất cả mọi thứ
  • Đưa ra câu trả lời của bạn cho ít nhất 3 sig-figs
  • Đây , mã rất ngắn trong byte thắng!

24
Thật đáng kinh ngạc những gì người Mỹ có thể làm để tránh sử dụng hệ thống số liệu :-P
Luis Mendo

2
Đây không phải là sự phức tạp của kolmogorov vì nó là một chuyển đổi thành đầu ra và không phải là một đầu ra không đổi
fnɛtɪk

Chúng ta có thể lấy đầu vào như một mảng? 0000như [0, 0, 0, 0]40như[40]
dặm

Câu trả lời:


3

JavaScript (ES7), 36 byte

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

Đưa đầu vào ở định dạng "0000".


3

J , 33 26 byte

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

Hãy thử trực tuyến!

Đưa đầu vào dưới dạng một chuỗi có số đo nhỏ hơn 0 dưới dạng chuỗi số không. Tìm chỉ số của chuỗi đó và chia 0,46 (đường kính của 0000) cho gốc 39 của 92 (tỷ lệ giữa các đồng hồ đo) nhiều lần.

Giải trình

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

Đồ dùng Bash + GNU, 47

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

Đánh giá biểu thức số học đơn giản bằng cách sử dụng bc. Đầu vào được đưa ra dưới dạng tham số dòng lệnh.

Đồng hồ đo nhỏ hơn 0 được đưa ra là n/0. Việc mở rộng tham số bash ${1/\/0/*-1+1}chuyển đổi các số này thành -ve và thêm một số làm cho số học xuất hiện đúng.

bc -lcho 20 vị trí thập phân theo mặc định. bcToán tử lũy thừa ^chỉ có thể xử lý số mũ nguyên nên ln(y*e(x))được sử dụng thay thế.

Hãy thử trực tuyến .


Có thể đề cập rằng các giá trị đầu ra thiếu số 0 đứng đầu hoặc tự thêm nó? Là một lưu ý phụ, cũng có khả năng giải quyết điều này trực tiếp trong tập lệnh bc, mặc dù có nhiều byte hơn.
seshoumara

1

Thạch , 18 byte

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

Hãy thử trực tuyến!

Một liên kết đơn âm lấy một tring và trả về một số. Các '0...0'trường hợp tạo ra một số đầu ra bổ sung, nhưng giá trị trả về là chính xác, có thể được nhìn thấy bằng cách bỏ qua hai dòng đầu tiên ở đây .

Làm sao?

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 byte

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

Hãy thử trực tuyến!

Giải trình

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

Excel, 53 49 byte

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

Lấy số đo nhỏ hơn 0 dưới dạng Chuỗi (1/0, 2/0, v.v.)


Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.