การเขียนโปรแกรมปริศนา & รหัสกอล์ฟ

คำถาม & คำตอบสำหรับผู้ชื่นชอบการเขียนโปรแกรมปริศนา

6
ดักหนูของ Michael Crichton
ในปี 1984 Michael Crichton เขียนโปรแกรมความปลอดภัยใน BASIC ที่ตีพิมพ์ในนิตยสาร Creative Computing โปรแกรมจะขอให้ผู้ใช้พิมพ์วลีที่ต้องการบันทึกช่วงเวลาระหว่างการกดแป้นจากนั้นขอให้เธอพิมพ์วลีอีกครั้ง หากการกำหนดเวลาแตกต่างกันมากเกินไปโปรแกรมจะระบุผู้ใช้ว่าเป็นผู้แอบอ้าง การมอบหมายของคุณ: สร้างโปรแกรมของ Crichton ในภาษาที่คุณเลือก กฎ: วลีสำหรับการสื่อสารกับผู้ใช้ ("โปรดพิมพ์วลีสำคัญ" "โปรดพิมพ์วลีสำคัญอีกครั้ง" ฯลฯ ) นับเป็นหนึ่งไบต์โดยไม่คำนึงถึงความยาวจริง นี่ใช้สำหรับการสื่อสารของผู้ใช้เท่านั้นอย่าพยายามซ่อนรหัสโปรแกรมในสตริง การทดสอบผ่าน / ไม่ผ่านควรขึ้นอยู่กับค่าสัมบูรณ์โดยเฉลี่ยของผลต่างเปอร์เซ็นต์จากช่วงเวลาเดิม หากสตริงไม่ตรงกันให้ส่งคืนข้อผิดพลาดหรืออนุญาตให้ผู้ใช้ลองอีกครั้งตามดุลยพินิจของคุณ วลีที่สำคัญไม่ควรอนุญาตให้มีสตริงที่เป็นโมฆะ ในกรณีที่วลีสำคัญยาวเกินไปสำหรับประเภทข้อมูลสตริงของคุณให้ตัดหรือไม่อนุญาตและเริ่มต้นใหม่ตามดุลยพินิจของคุณ ความไวของการทดสอบ (เกณฑ์สำหรับการทดสอบผ่าน / ไม่ผ่าน) ควรปรับได้ในซอร์สโค้ด เดิมฉันได้ให้โบนัส 20% ของจำนวนไบต์ทั้งหมดหากซอร์สโค้ดของคุณสามารถจัดรูปแบบให้คล้ายไดโนเสาร์ได้ มีการชี้ให้เห็นว่านี่เป็นเรื่องส่วนตัวและอาจเหมาะสมกว่าสำหรับการประกวดความนิยมดังนั้นฉันจึงลบโบนัสนี้ออกไป อย่างไรก็ตามฉันยังคงสนับสนุนการจัดรูปแบบไดโนเสาร์อย่างเต็มที่และหากคุณจัดรูปแบบรหัสของคุณให้ดูเหมือนไดโนเสาร์คุณสามารถหักความคิดเห็นเกี่ยวกับความงามเครื่องสำอางค์ตัวละคร Linebreak หรือ Whitespace จากจำนวนไบต์ทั้งหมดของคุณได้ การนับจำนวนไบต์ที่สั้นที่สุดขึ้นอยู่กับการปรับการจัดรูปแบบความยาวสตริงและไดโนเสาร์ โปรดทราบว่าข้อกำหนดของฉันข้างต้นไม่ตรงกับการทำงานของรหัสของ Crichton สำเนาซึ่งอาจพบได้ทางออนไลน์ ทำตามสเป็คอย่าพยายามโคลนต้นฉบับ
9 code-golf 

14
ปีอะไร
มันคือเดือนธันวาคม 2014 และ 2015 เกือบจะเริ่มแล้ว อย่างไรก็ตามดูเหมือนว่าทุกคนจะไม่ได้ตระหนักถึงสิ่งนี้ แต่ผู้คนใน PPCG ก็มาช่วยด้วย! อินพุต โปรแกรมของคุณได้รับกริดเช่นเดียวกับกำแพงซึ่งวันที่ในเดือนธันวาคมนั้นดูแตกต่างจากเดือนพฤศจิกายนและมกราคม แต่ละสัปดาห์เริ่มต้นด้วยวันอาทิตย์และสิ้นสุดด้วยวันเสาร์ #วันภายในเดือนที่มีการแสดงโดย วันที่อยู่นอกเดือนนั้นจะถูกแทนด้วย(ช่องว่างรหัส ASCII 32) แต่ละสัปดาห์อยู่บนบรรทัดแยก บรรทัดถูกคั่นด้วยอักขระบรรทัดใหม่ ( \n) โปรแกรมของคุณอาจต้องการ ommission หรือการขึ้นบรรทัดใหม่เมื่อสิ้นสุดการป้อนข้อมูล ตัวอย่างเช่นนี่คืออินพุตสำหรับเดือนธันวาคม 2009: ##### ####### ####### ####### ##### ปฏิทินอยู่ในเดือนธันวาคมเสมอ งาน เมื่อป้อนข้อมูลคุณจะต้องค้นหาปีที่เกี่ยวข้องกับปฏิทิน เนื่องจากมีหลายปีที่การจับคู่ปฏิทินคุณต้องส่งคืนปี (ก่อนปี 2015) ที่ใกล้เคียงกับปี 2015 มากที่สุด (ไม่รวมปี 2015 เอง) โปรแกรมของคุณจะต้องสร้างผลลัพธ์ที่ถูกต้องสำหรับปีใด ๆ <2015 ไม่รวมรายการที่มีรูปแบบปฏิทินสำหรับเดือนธันวาคมซึ่งเท่ากับปีถัดไป (ก่อน 2015) ใกล้กับปี 2558 …

1
หมายเหตุถึง Tablature
ท้าทาย รับรายการบันทึกย่อคุณจะต้องส่งคืนแท็บที่สอดคล้องกัน หมายเหตุ บันทึกจะต้องอยู่ในช่วงของ A ถึง G รวมและช่วงอ็อกเทฟเป็น 2 ถึง 6 รวม รูปแบบเป็นโน้ตคู่ที่มี#ความคมชัดและbเป็นตัวแทนของแบน เช่น: หรือA7F#3 แท็บ Tablature เป็นวิธีการเขียนเพลงโดยใช้แผนภาพเป็นตัวแทนของเครื่องดนตรี มันมักจะแสดงเป็นห้าบรรทัดด้วยตัวเลขในพวกเขา ตัวเลขที่เขียนบนเส้นแสดงถึงความไม่สบายใจที่ใช้เพื่อให้ได้ระดับเสียงที่ต้องการ ตัวอย่างเช่นหมายเลข 3 ที่เขียนไว้ที่บรรทัดบนสุดของเจ้าหน้าที่ระบุว่าผู้เล่นควรกดที่หงุดหงิดที่สามของ E สูง (สตริงแรก) Number 0 หมายถึง nut - นั่นคือสตริงเปิด หมายเลข Fret อาจไม่มากกว่า 22 และกีตาร์หกสาย tablature จะต้องอยู่ในรูปแบบ ASCII มาตรฐาน คุณต้องไม่รวมตัวบ่งชี้เทคนิคใด ๆ (เปิดค้อนสไลด์ ฯลฯ ) คั่นแต่ละโน้ตด้วยห้าขีดกลาง ในกรณีที่เป็นเลขสองหลักให้ลดจำนวนขีดกลางเป็นสี่ จุดเริ่มต้นของแท็บควรมีลักษณะดังนี้: e …

15
ผลรวมของสตริงโดยไม่ต้องแปลง
คุณต้องรับอินพุตสตริง 2 ตัวและแสดงผลรวมของสองสตริงโดยไม่แปลงเป็น int หรือใช้ชนิดข้อมูลตัวเลขใด ๆ อดีต string one = "123"; string two = "456"; string sum = "579"; สมมติว่าสายจะไม่ใหญ่กว่า 10 หลัก นี่คือรหัสกอล์ฟและคำตอบที่สั้นที่สุดในตัวละครชนะ การแก้ไขคำตอบใน C # จะทำให้ฉันยิ้มได้ :) แก้ไข: การแปลงเป็น int สามารถกำหนดเป็นอะไรก็ได้ในลักษณะนี้ Int.TryParse, (int), Convert.ToIntฯลฯ

3
สร้างการเอียง Fibonacci ที่ถูกต้อง
พื้นหลัง การเรียงลำดับ Fibonacci เป็นการเรียงต่อกันของบรรทัด (1D) โดยใช้สองส่วน: อันสั้น, S , และอีกอันยาว, L (อัตราส่วนความยาวของพวกเขาคืออัตราส่วนทองคำ แต่ไม่เกี่ยวข้องกับความท้าทายนี้) สำหรับการปูกระเบื้องโดยใช้ prototiles ทั้งสองนี้จริง ๆ แล้วจะเป็นการเรียงแบบ Fibonacci, เงื่อนไขต่อไปนี้จะต้องปฏิบัติตาม: มุงหลังคาไม่ต้องมี subsequence เอสเอส มุงหลังคาไม่ต้องมี subsequence LLL หากการเรียงต่อกันใหม่ถูกสร้างขึ้นโดยดำเนินการการทดแทนต่อไปนี้ทั้งหมดผลลัพธ์จะต้องยังคงเป็นการเรียงแบบ Fibonacci: LL → S S → L L → (สตริงว่าง) ลองดูตัวอย่าง: SLLSLLSLLSLS ดูเหมือนว่าการเรียงไฟล์ที่ถูกต้องเพราะมันไม่มี * S * s หรือสาม * L * s สองอัน …

4
มัวร์ซ้ำแล้วซ้ำอีก
ข้อมูล ตัวเลข 1 ถึง 9 เป็นตัวแทนของเซลล์หนึ่งในละแวกใกล้เคียงของมัวร์โดยที่ 5 เป็นเซลล์กลาง ดังนั้น: 123 456 789 1={-1,-1} 2={-1, 0} 3={-1, 1} 4={ 0,-1} 5={ 0, 0} 6={ 0, 1} 7={ 1,-1} 8={ 1, 0} 9={ 1, 1} ความท้าทาย คุณสามารถรับอินพุตผ่าน STDIN, ARGV หรืออาร์กิวเมนต์ของฟังก์ชันและส่งคืนผลลัพธ์หรือพิมพ์ไปที่ STDOUT อินพุตคือกริด N x N (ทอรัสทอพอโลยีหมายถึงถ้า x หรือ y คือ <1 จากนั้น …
9 code-golf 

1
แสดงกราฟผลการค้นหาของ Google
เมื่อคุณค้นหาบางสิ่งบางอย่างในGoogleAbout 53,000,000 results (0.22 seconds)ก็อำนวยความสะดวกให้ข้อความอยู่ด้านบนของหน้าพูดอะไรบางอย่างเช่น (ตัวเลขเปลี่ยนไปตามสิ่งที่ค้นหาแน่นอน) ในการท้าทายนี้คุณจะเขียนโปรแกรมที่ดึงกราฟ ASCII แบบลอการิทึมของจำนวนผลลัพธ์ที่กำหนดโดย Google เมื่อค้นหาคำนำหน้าที่ไม่ว่างเปล่าทั้งหมดของวลีค้นหาที่ระบุ ค้นหาวลีถูกกำหนดให้เป็นหนึ่งหรือมากกว่าสตริงของตัวเลขและตัวอักษรตัวพิมพ์เล็กแยกออกจากพื้นที่หนึ่งจากแต่ละอื่น ๆ ใน Regex (?:[a-z0-9]+ )*[a-z0-9]+ค้นหาวลีคือ ดังนั้นim ok, rและ1a 2ทุกคนค้นหาวลี แต่I'm OK, R, 1a 2และจะไม่ได้ (ข้อ จำกัด ของตัวละครอยู่ในตำแหน่งเพราะ Google ไม่ค่อยคำนึงถึงตัวพิมพ์ใหญ่หรือสัญลักษณ์พิเศษเข้ามาด้วยการหลีกเลี่ยงอักขระที่ไม่ใช่ตัวอักษรและตัวเลขใน URL ก็เป็นเรื่องยุ่งยากเช่นกัน) สเป็ค โปรแกรมของคุณจะต้องใช้วลีค้นหาและเลขทศนิยมเป็นบวก H จาก stdin หรือบรรทัดคำสั่ง (คุณสามารถสันนิษฐานได้ว่ามันใช้ได้และไม่เป็นไรถ้าคุณต้องการคำพูดหรือสิ่งที่อยู่รอบ ๆ วลีค้นหา) เป็นตัวอย่างการทำงานสมมติว่าวลีค้นหาคือa carและ H = 0.75 ขั้นตอนที่ 1: รวบรวมคำนำหน้าไม่ว่างเปล่าของการค้นหาวลีของคุณและใส่ไว้ในเครื่องหมายคำพูดคู่ …

7
เรียงตามตัวอักษรที่กำหนดเอง
ความท้าทายคือการจัดทำโปรแกรมที่เรียงลำดับรายการคำศัพท์เฉพาะที่จำเป็นต้องเรียงตามลำดับตัวอักษรแบบสุ่ม โปรแกรมของคุณจะยอมรับสตริงของคำที่คั่นด้วยเครื่องหมายจุลภาคและตัวอักษรใหม่ โปรแกรมของคุณจะแสดงผลทุกคำด้วยวิธีเดียวกันในลำดับที่เรียงลำดับใหม่ ตัวอย่าง: การป้อนข้อมูล: home,oval,cat,egg,network,green bcdfghijklmnpqrstvwxzaeiouy เอาท์พุท: cat,green,home,network,egg,oval มันคือ รหัสกอล์ฟดังนั้นผู้ชนะคือบุคคลที่มีโปรแกรมสั้นที่สุด นี่เป็นความท้าทายครั้งแรกของฉันดังนั้นการปรับปรุงคำถาม / ความท้าทายจะได้รับการชื่นชม

11
โซลิแทร์บัลแกเรีย
บัลแกเรีย Solitaireเป็นเกมที่เล่นคนเดียวทำให้เป็นที่นิยมโดยมาร์ตินการ์ดเนอร์ของเขาในคอลัมน์ทางคณิตศาสตร์วิทยาศาสตร์อเมริกัน คุณมีNไพ่เหมือนกันแบ่งออกเป็นกอง คุณรับการ์ดจากแต่ละกองและสร้างกองใหม่กับการ์ดที่ถูกลบออก คุณทำขั้นตอนนี้ซ้ำจนกว่าจะถึงสถานะที่คุณเคยเห็นและจะดำเนินการวนซ้ำ ตัวอย่างเช่นสมมติว่าคุณมี8การ์ดแยกออกเป็นกองของและกอง5 เราเขียนขนาดเสาเข็มในลำดับถัดลงมา:3 5 3นี่คือหลักฐานของเกม: 5 3 4 2 2 3 3 1 1 4 2 2 แรกที่คุณเอาบัตรออกจากกันของทั้งสองกองทิ้งกอง4และ2และกองที่สร้างขึ้นใหม่ของการให้2 4 2 2ในขั้นตอนต่อไปลดลงเหล่านี้ไปตามด้วยกองใหม่3 1 1 3ในที่สุดขั้นตอนสุดท้ายจะทำให้กองขนาดใหญ่หมด1และผลิตผล4 2 2ซึ่งปรากฏขึ้นแล้วเราจึงหยุด โปรดทราบว่าผลรวมของขนาดเสาเข็มยังคงเหมือนเดิม เป้าหมายของคุณคือพิมพ์ทรานสคริปต์ของเกมจากการกำหนดค่าเริ่มต้นที่กำหนด นี่คือรหัสกอล์ฟดังนั้นจำนวนไบต์ที่น้อยที่สุดจึงชนะ อินพุต รายการของจำนวนบวกในลำดับจากมากไปน้อยแสดงถึงขนาดเสาเข็มเริ่มต้น รับอินพุตผ่าน STDIN หรือฟังก์ชั่นอินพุต คุณสามารถใช้โครงสร้างรายการที่คุณต้องการ คุณไม่ได้รับจำนวนบัตรทั้งหมดNเป็นอินพุต เอาท์พุต พิมพ์ลำดับของขนาดของกองเกมบัลแกเรียโซลิแทร์ โปรดทราบว่าจำเป็นต้องมีการพิมพ์ไม่ใช่ส่งคืน แต่ละขั้นตอนควรเป็นของตัวเอง แต่ละบรรทัดควรจะมีลำดับของตัวเลขในเชิงบวกในลำดับถัดลงมาที่ไม่มี0's คุณอาจมีตัวคั่นและโทเค็นเริ่มต้นและจุดสิ้นสุด (ตัวอย่างเช่น[3, 3, 1, 1]) …
9 code-golf  game 

3
การเพิ่มประสิทธิภาพหน่วยความจำที่ จำกัด
ระยะห่างของการแก้ไข (หรือ Levenshtein)ระหว่างสองสายคือจำนวนที่น้อยที่สุดของการแทรกอักขระเดียวการลบและการแทนที่ที่จำเป็นในการแปลงสตริงหนึ่งเป็นอีกสตริงหนึ่ง หากทั้งสองสตริงมีความยาว n แต่ละตัวเป็นที่ทราบกันดีว่าสิ่งนี้สามารถทำได้ในเวลา O (n ^ 2) โดยการโปรแกรมแบบไดนามิก รหัสงูใหญ่ต่อไปดำเนินการคำนวณนี้สำหรับสองสายและs1s2 def edit_distance(s1, s2): l1 = len(s1) l2 = len(s2) matrix = [range(l1 + 1)] * (l2 + 1) for zz in range(l2 + 1): matrix[zz] = range(zz,zz + l1 + 1) for zz in range(0,l2): for sz in …

4
เส้นทางเดินป่า
หลังจากขี่เรือแคนูที่ร้ายกาจของคุณแล้วคุณก็ตกลงไปที่น้ำตกที่ปลายน้ำเชี่ยว เรือแคนูของคุณระเบิด แต่คุณรอดชีวิตจากการระเบิด อย่างไรก็ตามการเดินทางทางแม่น้ำของคุณก็หมดไปจากแผนที่ตอนนี้คุณพบว่าตัวเองหลงทางในป่า โชคดีที่คุณยังมีทักษะการเขียนโปรแกรมดังนั้นคุณตัดสินใจที่จะแกะสลักโปรแกรมไว้ที่ด้านข้างของต้นไม้เพื่อช่วยคุณค้นหาเส้นทางผ่านป่า อย่างไรก็ตามมีพื้นที่ผิวบนต้นไม้ไม่มากดังนั้นคุณต้องทำให้โปรแกรมของคุณสั้นที่สุด ฟอเรสต์สามารถอธิบายได้ว่าเป็นตัวอักษรnโดยn( n > 5) ของอักขระซึ่งจะประกอบด้วยตัวอักษรตัวพิมพ์เล็กa-zเท่านั้น ป่าตัวอย่าง: anehcienwlndm baneiryeivown bnabncmxlriru anhahirrnrauc riwuafuvocvnc riwnbaueibnxz hyirorairener ruwiiwuauawoe qnnvcizdaiehr iefyioeorauvi quoeuroenraib cuivoaisdfuae efoiebnxmcsua คุณอาจสังเกตเห็นว่าในป่านี้มีเส้นทแยงมุมของaตัวละครที่วิ่งผ่านจากมุมบนซ้ายไปยังมุมขวาล่าง นี่คือ "เส้นทาง" ผ่านป่าซึ่งจะพาคุณไปที่ไหนสักแห่งถ้าคุณทำตาม งานของคุณคือการเขียนโปรแกรมที่จะหาเส้นทางเอกพจน์ ตอนนี้ฉันจะอธิบายสิ่งที่สื่อความหมายถึง "เส้นทาง" ในความท้าทายนี้โดยเฉพาะ "เส้นทาง" ในการท้าทายนี้ถูกกำหนดให้เป็นเส้นที่คล้ายกับเส้นทางซึ่งอาจถูกสร้างขึ้นด้วยอัลกอริทึม Bresenhamแต่ด้วยข้อกำหนดเพิ่มเติมที่: บรรทัดต้องมีความยาวอย่างน้อย 6 อักขระ แต่ละ collinear (ติดกันอย่างสมบูรณ์) กลุ่มของอักขระในบรรทัดจะต้องมีความยาวเท่ากัน มันจะเริ่มที่ขอบหนึ่งของป่าและจบที่ขอบตรงข้าม (ดูความคิดเห็นของฉันที่นี่เพื่อทำอย่างละเอียด) หากต้องการอธิบายข้อกำหนดที่สองให้ชัดเจนยิ่งขึ้นให้พิจารณาบรรทัดต่อไปนี้: aaa aaa aaa aaa …

6
สคริปต์สั้นที่สุดที่ให้เวลาผ่านไปนับตั้งแต่การประทับเวลา Unix
สิ่งที่คุณต้องทำเพื่อให้ได้รับความท้าทายนี้คือการเขียนสคริปต์ "timeago" ที่สั้นที่สุดที่แสดงจำนวนทศวรรษปีสัปดาห์สัปดาห์วันชั่วโมงนาทีและวินาทีระหว่างเวลาประทับ Unix ที่กำหนดและเวลาที่สคริปต์ทำงาน คุณจะต้องให้แตกต่างของเวลาใน "ข้อตกลงต่ำสุด" เช่น1 weekไม่ได้7 days, ไม่ได้9 years 0 decades 9 yearsนอกจากนี้คุณยังจะต้องใช้รูปพหูพจน์ได้อย่างถูกต้องเช่นไม่ได้1 day1 days สคริปต์ของคุณจะต้องถูกต้องภายในบวกหรือลบ 1 วินาที (ดังนั้นวิธีการปัดเศษที่สองนั้นไม่สำคัญ) Time Equivalency Table 1 decade = 10 years 1 year = 31536000 seconds (not technically correct but close enough) 1 week = 7 days 1 day = 24 …
9 code-golf  date 

3
ASCII Art Code Generator
ฉันมีโปรแกรมที่สร้างรหัส Brainfuck ในรูปแบบ ฉันรันโปรแกรม ./example "S" และผลลัพธ์คือ +[>+ < +++ ] >--. ซึ่งพิมพ์ S ใน Brainfuck วัตถุประสงค์ของคุณคือการเขียนโปรแกรมที่ยอมรับสตริงเป็นอินพุตและเอาต์พุตซอร์สโค้ดในภาษาอื่นซึ่งพิมพ์สตริงนั้น ซอร์สโค้ดโปรแกรมของคุณจะต้องจัดรูปแบบในลักษณะที่แสดงถึงสตริงในรูปแบบ ASCII (พิมพ์ในแนวนอนไม่ใช่แนวตั้ง) ซอร์สโค้ดไม่สามารถมีสตริงได้ (อย่างไรก็ตามอาจมีตัวอักษรที่เกิดขึ้นในสตริง แต่ไม่เรียงตามลำดับ) มิฉะนั้น, ช่องโหว่มาตรฐานใช้ รหัสที่สั้นที่สุดชนะ โปรดตั้งชื่อการส่งของคุณด้วยภาษาที่เขียนขึ้นภาษาที่ใช้แสดงผลและขนาดทั้งหมดเป็นไบต์ โปรดรวมเอาท์พุทของโปรแกรมของคุณเมื่อคุณป้อนสตริง UNCOPYRIGHTABLE ขอบคุณ!

3
ตรวจสอบโซลูชั่น Loopy
นี้เป็นความท้าทายเพิ่มเติมเพื่อสร้าง Loopy ปริศนาท้าทาย คุณอาจต้องการแก้ปัญหานี้ก่อนที่จะลองความท้าทายที่ยากขึ้นในลิงค์ก่อนหน้า เป้าหมายของการท้าทายนี้คือการตรวจสอบการแก้ปัญหากับตัวต่อแบบวนรอบ โปรดรับเอกสารทั้งหมดเกี่ยวกับตัวต่อวงแหวนจากลิงก์ก่อนหน้า ปริศนาแบบวนรอบที่แก้ไขแล้วนั้นได้รับการจัดรูปแบบในลักษณะที่คล้ายกันมากกับผลลัพธ์ของการส่งที่ถูกต้องกับความท้าทาย“ สร้างปริศนาวนรอบ” และอาจมีลักษณะเช่นนี้: +-+-+ +-+ +-+ + | | | |2|3| +-+ + + + + +-+ 2| | | |2| 3| + + +-+ + + +-+ 2| 2 1|3| | +-+ +-+ +-+ +-+ |2 | | 1 2| + +-+ +-+ …
9 code-golf 

3
นับแท่ง; นับไม้เท้าของคุณ
พื้นหลังบางส่วน แท่งนับเป็นแท่งขนาดเล็ก (ยาว 3-14 ซม.) ที่นักคณิตศาสตร์ใช้ในวัฒนธรรมเอเชียมานานกว่า 2000 ปีเพื่อใช้แทนจำนวนหรือเศษส่วนทั้งหมด (ใน chqllenge นี้เราจะมุ่งเน้นไปที่จำนวนเต็มไม่ได้ลงนาม) นอกจากนี้ยังมีรุ่นที่เป็นลายลักษณ์อักษรที่เรียกว่าเลขก้าน นี่คือวิธีการทำงาน: (ถ้า ณ จุดใดก็ตามที่คุณสับสนให้ไปที่ตัวแทน ASCII ของแต่ละหลักและตัวอย่างบางส่วนที่ฉันได้รวมไว้ที่ด้านล่าง) เลข Rod เป็นระบบตัวเลขตำแหน่งจริงโดยมีตัวเลขสำหรับ 1-9 และว่างเปล่าสำหรับ 0 ตัวเลขประกอบด้วยเส้นแนวนอนและแนวตั้ง ยิ่งบรรทัดมีจำนวนมากเท่าใด เมื่อคุณได้รับห้าที่ผ่านมาคุณวางเส้นแนวนอนด้านบนเพื่อเพิ่ม 5 ถึงจำนวนบรรทัดด้านล่าง เส้นแนวตั้งหนึ่งเส้นคือ 1 เส้นแนวตั้งสองเส้น 2 เส้นแนวตั้งห้าเส้นคือ 5 เส้นแนวตั้งหนึ่งเส้นที่มีเส้นแนวนอนด้านบนคือ 6 เส้นแนวตั้งสี่เส้นที่มีเส้นแนวนอนด้านบนคือ 9 (ตัวเลขสูงสุด) แนวตั้ง 3 หลัก: ||| ||| ||| ||| ||| เพื่อให้การอ่านเลขแท่งง่ายขึ้นพวกเขาใช้เครื่องหมายที่แตกต่างกันสำหรับแต่ละหลักที่สลับกัน สัญกรณ์ที่สองสลับบทบาทของเส้นแนวนอนและแนวตั้ง …

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