แปลง 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
  • หน้าวิกิพีเดียมีสูตรที่เป็นประโยชน์บางอย่างที่คุณสามารถพยายามที่จะใช้ถ้าคุณไม่ต้องการที่จะทุกอย่าง hardcode
  • แสดงคำตอบของคุณอย่างน้อย 3 sig-figs
  • นี้ รหัสที่สั้นที่สุดเป็นไบต์จะชนะ!

24
เป็นเรื่องที่น่าอัศจรรย์ที่ชาวอเมริกันสามารถทำได้เพื่อหลีกเลี่ยงการใช้ระบบเมตริก :-P
Luis Mendo

2
นี้ไม่ได้เป็น Kolmogorov ซับซ้อนมันเป็นแปลงเพื่อการส่งออกและไม่ออกมาคงที่
fənɛtɪk

เราสามารถรับอินพุตเป็นอาร์เรย์ได้หรือไม่ 0000เป็น[0, 0, 0, 0]และ40เป็น[40]
ไมล์

คำตอบ:



3

J , 33 26 ไบต์

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

ลองออนไลน์!

รับอินพุตเป็นสตริงที่มีเกจน้อยกว่าศูนย์เป็นสตริงของศูนย์ ค้นหาดัชนีของสตริงนั้นและหาร 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

Bash + GNU utils, 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))ใช้แทน

ลองมันออนไลน์


อาจจะพูดถึงว่าค่าเอาต์พุตไม่มีศูนย์นำหน้าหรือเพิ่มด้วยตัวคุณเอง? ในฐานะที่เป็นบันทึกด้านข้างนอกจากนี้ยังมีความเป็นไปได้ที่จะแก้ปัญหานี้โดยตรงในสคริปต์ bc แม้ว่าจะมีจำนวนไบต์มากขึ้น
seshoumara

1

เยลลี่ขนาด 18 ไบต์

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

ลองออนไลน์!

ลิงก์ 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

Excel, 53 49 ไบต์

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

ใช้เกจน้อยกว่าศูนย์เป็นสตริง (1/0, 2/0 เป็นต้น)


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.