คำถามติดแท็ก roman-numerals

แท็กนี้ระบุว่าความท้าทายเกี่ยวข้องกับตัวเลขโรมัน

7
ตัวเลขเป็นกราฟิกวงกลม
ก่อนอื่นศึกษาปริศนานี้เพื่อทำความเข้าใจกับสิ่งที่คุณกำลังจะทำ ความท้าทายของคุณคือการเขียนโปรแกรมหรือฟังก์ชั่นที่จะส่งออกกราฟิกแบบวงกลมเช่นเดียวกับตัวต่อจากปริศนาที่ให้หมายเลข (ฐาน 10) ระหว่าง 1 ถึง 100 (รวม) สิ่งนี้คล้ายกับความท้าทายนี้ยกเว้นว่าคุณจะสร้างกราฟิกแทนที่จะเป็นตัวเลขโรมัน วงกลมต่อไปนี้แทนตัวเลข 1-10 จากซ้ายไปขวา: ในฐานะที่เป็นคำตอบของปริศนาภาพกราฟิกของคุณควรอ่านเหมือนตัวเลขโรมันจากด้านในซึ่งความหนาของเส้นแสดงถึงสัญลักษณ์ตัวเลขโรมันและกราฟิกทั้งหมดแสดงถึงจำนวน สำหรับการอ้างอิงของคุณนี่คือความหนาของเส้นที่คุณต้องการ แต่ละบรรทัดควรมีช่องว่างภายใน 3px ระหว่างบรรทัดกับบรรทัดถัดไป Number Roman Numeral Line Width 1 I 1px 5 V 3px 10 X 5px 50 L 7px 100 C 9px กรุณาโพสต์ตัวอย่างหรือสองของผลลัพธ์ของคุณ สมมติว่าอินพุตถูกต้องช่องโหว่มาตรฐานฯลฯ และอื่น ๆ นี่คือรหัสกอล์ฟดังนั้นจำนวนไบต์ที่น้อยที่สุดจึงชนะ ในกรณีที่เสมอคะแนนโหวตมากที่สุดชนะ โชคดี!

18
รหัสการทำให้เป็นสุริยวรมัน
ความท้าทายคือการทำให้รหัสโรมันเป็นรหัสที่ถูกต้องในภาษาที่คุณเลือก พวกเขาไม่ควรปรากฏภายในสตริงหรือสิ่งอื่นที่คล้ายกัน แต่ทำงานเหมือนกับโทเค็นอื่น ๆตัวอักษรเช่นตัวเลข( อาหรับ ) ตัวละครหรือสตริง หรือตัวระบุตัวแปร / วิธี / ฟังก์ชั่น ฯลฯ ตัวอย่างเช่นใน Java ต่อไปนี้จะต้องรวบรวมและเรียกใช้ราวกับว่าiได้รับการเริ่มต้น42: int i = XLII; การแยกวิเคราะห์ตัวเลขที่แท้จริงเป็นเรื่องรองดังนั้นคุณสามารถใช้ห้องสมุดได้หากคุณต้องการ แต่นี่เป็นการประกวดความนิยมดังนั้นจึงส่งเสริมให้มีความคิดสร้างสรรค์ คุณไม่สามารถใช้ภาษาใดก็ได้ที่ใช้ตัวเลขโรมันหากมีสิ่งนั้น โชคดี.

29
ชาวโรมันผู้โลภ!
ให้เป็นจำนวนเต็มบวกอย่างเคร่งครัดคืนตัวเลขโรมันที่สั้นที่สุดโดยใช้กฎการบวกเท่านั้น เอาต์พุตจะต้องประกอบด้วยอักขระแต่ละตัวMDCLXVIในศูนย์หรือมากกว่านั้น จำนวน14ดังนั้นจึงต้องให้มากกว่าXIIIIXIV ค่าตัวเลขของอักขระคือM= 1,000, D= 500, C= 100,L = 50, X= 10, V= 5, I= 1 ตัวอย่าง 3 → III 4 → IIII 9 → VIIII 42 → XXXXII 796 → DCCLXXXXVI 2017 → MMXVII 16807 → MMMMMMMMMMMMMMMMDCCCVII

21
นับจาก 1 ถึง 100 …ในเลขโรมัน
เขียนโปรแกรมที่มีค่าตั้งแต่ 1 ถึง 100 ในรูปแบบตัวเลขโรมันและพิมพ์ตัวเลขเหล่านี้ด้วยเอาต์พุตมาตรฐาน แต่ละหมายเลขต้องคั่นด้วยช่องว่าง คุณไม่สามารถใช้ฟังก์ชันในตัวเพื่อแปลงเป็นตัวเลขโรมันหรือแอปพลิเคชันหรือไลบรารีภายนอกเพื่อทำเช่นนั้น ผลลัพธ์ที่ต้องการคือ I II III IV V VI VII VIII IX X XI XII XIII XIV XV XVI XVII XVIII XIX XX XXI XXII XXIII XXIV XXV XXVI XXVII XXVIII XXIX XXX XXXI XXXII XXXIII XXXIV XXXV XXXVI XXXVII XXXVIII XXXIX XL XLI XLII …

4
เครื่องกำเนิดเลขโรมันที่เหมาะที่สุด
เป้าหมาย: เขียนฟังก์ชันที่ใช้ตัวเลขเป็นอินพุตและส่งกลับตัวเลขโรมันแบบสั้นสำหรับหมายเลขนั้นเป็นเอาต์พุต สัญลักษณ์ตัวเลขโรมัน: Symbol Value I 1 V 5 X 10 L 50 C 100 D 500 M 1,000 สำหรับตัวอย่างของสิ่งที่ฉันหมายถึงเมื่อฉันพูดว่า "เลขโรมันสั้น ๆ " ลองพิจารณาหาตัวเลขโรมันเพื่อเป็นตัวแทนปี 1983 เพราะนั่นคือปีที่ฉันเกิด ทางเลือกหนึ่งคือทำตามวิธีปกติ (10 ตัวอักษร): 1983 = MCMLXXXIII = (1,000 - 100 + 1000 + 50 + 30 + 3) อีกทางเลือกหนึ่งคือทำด้วยวิธีทางลัด (6 ตัวอักษร): 1983 = MXVIIM …

4
เมื่ออยู่ในกรุงโรมนับเป็นชาวโรมันทำอย่างไร
พื้นหลัง ความท้าทายนี้ได้รับแรงบันดาลใจจากเว็บไซต์นี้ซึ่งเผยแพร่แผนภาพต่อไปนี้: แผนภาพนี้แสดงให้เราเห็นว่าการแสดงออกของเลขโรมันที่ยาวที่สุดภายใต้ 250 คือ 188 ท้าทาย สัญลักษณ์มาตรฐานที่ใช้ในการแสดงตัวเลขโรมันส่วนใหญ่มีดังต่อไปนี้: { I, V, X, L, C, D, M} ที่ค่าตัวเลขของตัวละครที่มีM= 1000 D= 500 C= 100 L= 50 X= 10 V= 5 I= 1 ในการท้าทายนี้เป้าหมายของคุณคือให้เป็นจำนวนเต็มบวกnคำนวณจำนวนตัวเลขโรมันที่ถูกต้องที่สามารถนำมาประกอบผ่านการต่อเชื่อมnของสัญลักษณ์มาตรฐาน จากนั้นโปรแกรมของคุณจะต้องแสดงผลลัพธ์ของการคำนวณนี้! การป้อนข้อมูล : เป็นจำนวนเต็มบวกn เอาท์พุท : จำนวนที่ถูกต้องแสดงออกเลขโรมันของความยาวn กฎสำหรับนิพจน์ตัวเลขโรมัน แต่เดิมเลขโรมันมีการจับคู่แบบ "เพิ่มเติม" ซึ่งหมายความว่าตัวเลขจะถูกเขียนตามลำดับจากมากไปหาน้อยและผลรวมของค่าของตัวเลขทั้งหมดคือค่าของตัวเลข ต่อมาต่อมาการจับคู่แบบลบการใช้การวางตัวเลขขนาดเล็กลงด้านหน้าที่ใหญ่กว่าเพื่อที่จะลบส่วนที่เล็กกว่าออกจากขนาดใหญ่ คู่ subtractive IXLไม่สามารถถูกล่ามโซ่เหมือนในการแสดงออกที่ไม่ถูกต้องต่อไปนี้: ต่อไปนี้เป็นกฎวันที่ทันสมัยสำหรับการจับคู่แบบบวกและแบบลบ สามารถใช้ I, X …

7
ลำดับการดูและพูด: ฉบับเลขโรมัน
คำอธิบายการท้าทาย ที่เราเคยมีความท้าทายไม่กี่ที่เกี่ยวข้องกับการลำดับดูและการพูด การแจ้งเตือนด่วน: ลำดับเริ่มต้นด้วย1, เงื่อนไขที่ตามมาของลำดับนี้จะถูกสร้างขึ้นโดยการแจกแจงตัวเลขแต่ละกลุ่มของตัวเลขซ้ำในระยะก่อน ดังนั้นศัพท์สองสามข้อแรกคือ: 1 "one" 11 "one one" (we look at the previous term) 21 "two ones" 1211 "one two, one one" 111221 "one one, one two, two ones" 312211 "three ones, two twos, one one" ตอนนี้เรามาทำสิ่งเดียวกัน แต่ใช้ตัวเลขโรมันแทน เราเริ่มต้นด้วยIและปฏิบัติตามกฎเดียวกัน (เราใช้กฎหลักนับตัวอักษรแทนเพื่อให้เราอ่านIVXเป็นone one, one five, one tenแทนone four, one …

15
ตรงกับตัวเลขโรมัน
ท้าทาย รับสตริงอินพุตบางตัวส่งคืนค่าความจริงถ้ามันแสดงถึงตัวเลขโรมันที่ถูกต้องระหว่าง 1 (= I) และ 3999 (= MMMCMXCIX) และค่าเท็จเป็นอย่างอื่น รายละเอียด อินพุตเป็นสตริงที่ไม่ว่างซึ่งประกอบด้วยอักขระIVXLCDMเท่านั้น ตัวเลขโรมัน (ที่เราใช้ที่นี่ในการท้าทายนี้) ถูกกำหนดดังนี้: เราใช้สัญลักษณ์ต่อไปนี้เท่านั้น: Symbol I V X L C D M Value 1 5 10 50 100 500 1000 การกําหนดซึ่งสตริงเลขโรมันที่ถูกต้องจริงก็อาจจะง่ายที่สุดในการให้กฎของการสนทนา: การเขียนจำนวนทศนิยมa3 a2 a1 a0(ซึ่งแต่ละai. เป็นหนึ่งในหลักดังนั้นสำหรับตัวอย่างเพื่อเป็นตัวแทนของ792เรามีa3=0, a2=7, a1=9, a0=2.) เป็นเลขโรมันเราย่อยสลายมัน เข้าสู่พลังของสิบ พลังที่แตกต่างกันของสิบสามารถเขียนได้ดังนี้: 1-9: I, II, III, IV, V, …

5
มีวัตถุแข็งหรือวัตถุนิ่ม ๆ หรือไม่
ได้รับแรงบันดาลใจจากการเปิดหนังสือ What-If อินพุตเป็นสี่เหลี่ยมผืนผ้าของช่องว่างในรูปของสตริงรายการของสตริง ฯลฯ โดยมีวัตถุที่ทำจาก#ภายใน: ######## # # ######## ### #### ### #### ### วัตถุจะไม่ตัดกันไม่สัมผัสสี่เหลี่ยม วัตถุนุ่มถูกกำหนดให้เป็นวัตถุที่ไม่ได้#อยู่ตรงกลางและเป็นเพียงเส้นขอบวัตถุแข็งคือวัตถุที่เต็มไป วัตถุที่มีความกว้างหรือความสูง<=2ถือว่ายาก วัตถุทั้งหมดมีความแข็งหรืออ่อน หากมีวัตถุแข็งมากขึ้นในการป้อนข้อมูลการส่งออก"Hard"ถ้ามากขึ้นนุ่มผลผลิต"Soft"ถ้าพวกเขามีค่าเท่ากัน, "Equal"เอาท์พุท นี่คือรหัส - กอล์ฟดังนั้นรหัสที่สั้นที่สุดในหน่วยไบต์ชนะ! กรณีทดสอบ กรณีเหล่านี้ไม่ได้ป้อนข้อมูลเต็ม แต่ควรระบุว่าแต่ละวัตถุควรเป็นอย่างไร การป้อนข้อมูลจริงจะเป็นแบบ ascii-art ที่ด้านบนของคำถาม ยาก # #### ## ## ########## ########## ########## อ่อนนุ่ม ### # # ### ################### # # # # # # ################### …
19 code-golf  ascii-art  counting  code-golf  number  grid  decision-problem  chess  code-golf  grid  graph-theory  chess  code-golf  math  geometry  code-golf  arithmetic  roman-numerals  fastest-code  code-golf  math  geometry  code-golf  string  cryptography  code-golf  number  sequence  decision-problem  code-golf  string  parsing  c  code-golf  sorting  integer  code-golf  number  sequence  rational-numbers  graphical-output  atomic-code-golf  assembly  box-256  code-golf  geometry  tips  python  code-golf  number  sequence  arithmetic  number-theory  code-golf  ascii-art  kolmogorov-complexity  geometry  code-golf  graphical-output  code-golf  math  code-golf  grid  cellular-automata  game-of-life  code-golf  string  subsequence  code-golf  arithmetic  rational-numbers  code-golf  tips  dc  code-golf  ascii-art  kolmogorov-complexity  date  code-golf  string  primes  code-golf  string  natural-language  conversion  code-golf  sequence  code-golf  number-theory  primes  base-conversion  code-golf  math  primes  base-conversion  code-golf  ascii-art  fractal  code-golf  matrix  code-golf  math  tips  geometry  python  string  code-challenge  keyboard  code-golf  graphical-output  code-golf  string  code-golf  number  sequence  cops-and-robbers  number  sequence  cops-and-robbers 

8
สร้างเครื่องคิดเลขตัวเลข
สร้างเครื่องคิดเลขพื้นฐานสำหรับเลขโรมัน ความต้องการ รองรับ+, -, *,/ อินพุทและเอาท์พุทควรคาดหวังว่าจะมีเพียงหนึ่งคำนำหน้าตัวลบต่อสัญลักษณ์ (เช่น 3 ไม่สามารถเป็นIIVเพราะมีสองIก่อนหน้านี้V) การจัดการของหลักการการลบในการป้อนข้อมูลและต้องส่งออกที่สนับสนุนขั้นต่ำการประชุมมาตรฐานทันสมัยซึ่งมีเพียงอำนาจของสิบจะถูกหักออกจากตัวเลขขนาดใหญ่ (เช่นI, X, Csubtractors จะต้อง แต่ไม่V, L, D) และการลบก็ไม่เคยทำได้จากจำนวนมากกว่า ลบ 10x (เช่นIXต้องได้รับการสนับสนุน แต่ICไม่จำเป็น) อินพุตและเอาต์พุตควรจากซ้ายไปขวาตามลำดับของค่าเริ่มต้นด้วยค่าที่ใหญ่ที่สุด (เช่น 19 = XIXไม่IXX, 10 มีค่ามากกว่า 9) จากซ้ายไปขวาไม่มีความสำคัญของโอเปอเรเตอร์ราวกับว่าคุณกำลังใช้เครื่องคิดเลขมือ รองรับทั้งตัวเลขบวกเข้า / ออกระหว่าง 1-4999 (ไม่จำเป็นต้องV̅) ไม่มีห้องสมุดที่แปลงเลขโรมันให้คุณ เพื่อให้คุณตัดสินใจ กรณีที่ไว ช่องว่างหรือไม่มีช่องว่างในอินพุต จะเกิดอะไรขึ้นถ้าคุณได้รับผลลัพธ์ทศนิยม ตัดทอนไม่มีคำตอบข้อผิดพลาด ฯลฯ สิ่งที่ต้องทำสำหรับเอาต์พุตที่คุณไม่สามารถจัดการได้ จำนวนลบหรือจำนวนถึงมากที่จะพิมพ์ สนับสนุนการใช้หลักการลบอย่างเสรีมากกว่าข้อกำหนดขั้นต่ำหรือไม่ สินเชื่อพิเศษ -50 - จัดการได้ถึง …

9
จำนวนเต็มย้อนกลับไปตามกาลเวลา
การป้อนข้อมูล: จำนวนเต็ม เอาท์พุท: ก่อนอื่นแปลงจำนวนเต็มเป็นตัวเลขโรมันที่เทียบเท่ากัน จากนั้นแปลงตัวอักษรพิมพ์ใหญ่ของตัวเลขโรมันแต่ละตัวให้เป็นค่าทศนิยม ASCII / UNICODE และเอาท์พุทผลรวมของสิ่งเหล่านั้น ตัวอย่าง: 1991 -> MCMXCI -> 77+67+77+88+67+73 -> 449 ^ input ^ output ตัวเลขโรมัน:นี่คือตัวแปลงตัวเลขโรมันที่มีประโยชน์ กฏท้าทาย: มีการใช้กฎตัวเลขโรมันมาตรฐานดังนั้นจึงไม่มีรูปแบบอื่นที่เหมือนIIIIหรือVIIIIแทนIVและIX* บรรทัด Macron ด้านบนตัวเลขโรมันที่ผ่าน 1,000 คือ¯(UNICODE nr. 175) ดังนั้นนับเป็นหนึ่งบรรทัดและสองเป็น+175+350 คุณได้รับอนุญาตให้ใช้ประเภทอินพุตและเอาต์พุตชนิดใดก็ได้ตราบใดที่มันแสดงถึงจำนวนเต็ม 1 - 2,147,483,647กรณีทดสอบจะอยู่ในช่วงของ * กฎตัวเลขโรมัน (อ้างอิงจาก Wikipedia): ตัวเลขเกิดขึ้นจากการรวมสัญลักษณ์และการเพิ่มค่าดังนั้นจึงIIเป็นสอง (สองคน) และXIIIเป็นสิบสาม (สิบและสามคน) เนื่องจากแต่ละตัวเลขมีค่าคงที่แทนที่จะเป็นตัวแทนทวีคูณของสิบหนึ่งร้อยและต่อ ๆ ไปตามตำแหน่งไม่จำเป็นต้องมี "การเก็บรักษา" เป็นศูนย์เช่นเดียวกับในจำนวน 207 …

1
แปลงตัวเลขโรมันที่เข้ารหัสได้เป็นทศนิยมอารบิก
เขียนอัลกอริทึมเพื่อตีความลำดับของตัวอักษรเป็นตัวเลขโรมัน (ดูกฎเลขโรมันด้านล่าง) แต่ละตัวอักษรที่แตกต่างมีค่าทศนิยมอารบิกที่ตรงกันไม่เกิน แต่คุณไม่มีกุญแจไว้ล่วงหน้าการ{A=10, I=1, X=5, ... Z=1000000}ตัดสินใจของคุณจะถูกตีความ ท้าทาย อ่านอินพุตผ่านSTDINหรือเทียบเท่าและเขียนเอาต์พุตผ่านSTDOUTหรือเทียบเท่า อินพุตที่ถูกต้องคือการรวมกันของตัวอักษรตัวพิมพ์ใหญ่และตัวพิมพ์เล็กเช่นการจับคู่ \[a-zA-Z]+\ อินพุตควรได้รับการตรวจสอบเพื่อดูว่าลำดับตัวอักษรสามารถตีความได้ว่าเป็นเลขโรมันที่ถูกต้องหรือไม่ หากอินพุตผ่านการตรวจสอบผลลัพธ์ที่ถูกต้องควรเป็นการตีความเลขฐานสิบแบบอาหรับที่ต่ำที่สุดและคีย์ที่ใช้คือAaถูกตีความว่า4 {a=5, A=1} ไม่ใช่ 6 {A=5, a=1} หรือ 9 {a=10, a=1} กฎเลขโรมัน มีเพียงตัวอักษรที่เป็นตัวแทนของพลังสิบสามารถทำซ้ำได้สูงสุดสามครั้งติดต่อกันและรวมสี่ครั้งเช่น II III XXXIX หากวางจดหมายหนึ่งฉบับหรือมากกว่าหลังจากตัวอักษรที่มีมูลค่ามากกว่าให้เพิ่มจำนวนนั้น AAaa => 22 {A=10, a=1} (20 + 2 = 22) bbAAaa => 222 {b=100, A=10, a=1} (200 + 20 + …

3
เพศของฟีโบนักชี
Leonardo da Pisano หรือที่รู้จักว่า Fibonacci เป็นเครื่องมือสำคัญในการนำระบบตัวเลขฮินดู - อาหรับเข้าสู่ยุโรป ก่อนหน้านั้นนักคณิตศาสตร์มีการทำงานในฐานหกสิบกับตัวเลขโรมัน ตัวอย่างเช่นรากที่สองของทั้งสองอาจประมาณว่า: หนึ่งและยี่สิบสี่ส่วนของหกสิบห้าสิบเอ็ดส่วนของสามพันหกร้อยและเขียนเป็น: i xxiv liโดยมีการกำหนดโดยบริบท ในเวลานั้น“ ไม่มีอะไร” เป็นที่รู้จัก ( เช่นศูนย์) แต่ไม่มีการแสดงมาตรฐานในระบบหมายเลขนี้ หากฟีโบนัชชีไม่สนใจตัวเลขทศนิยมใหม่ที่เขาพบระหว่างการเดินทางเขาจะต้องจัดการกับข้อบกพร่องในระบบปัจจุบันอย่างแน่นอน ระบบที่ปรับปรุงแล้วนี้เราจะเรียกเพศของฟีโบนักชี งานของคุณคือการเขียนโปรแกรมฟังก์ชั่นหรือตัวอย่างของรหัสซึ่งใช้ตัวเลขทศนิยมในรูปแบบ ASCII หรือไบนารีและเอาท์พุทในฐานหกสิบตัวเลขโรมัน อินพุตสามารถเป็นไฟล์คอนโซลบรรทัดคำสั่งหรืออาร์กิวเมนต์ของฟังก์ชันและเอาต์พุตสามารถเป็นไฟล์หรือคอนโซลใดก็ได้ที่ง่ายที่สุด เอาต์พุตสามารถเป็นตัวพิมพ์ใหญ่หรือตัวพิมพ์เล็กและต้องรวมการปรับปรุงเหล่านี้: ใช้nหรือNเพื่อบ่งบอกว่าnullหมายถึงสถานที่ไม่มีค่าเช่น “ zero” (ปัญหาเกี่ยวกับระบบ) ใช้eหรือEเพื่อระบุและสอดคล้องกับประเด็นเรื่องเพศ (ปัญหาอื่นกับระบบ) ใช้จุดกึ่งกลาง·หรือเครื่องหมายดอกจัน * เพื่อแยกกลุ่มของตัวเลขโรมัน (ยังเป็นปัญหาของระบบ) สมมติการป้อนข้อมูลที่จะได้รับการจุดลอยกับ mantissa ไม่เกินlix · lix · lix · lix · lix เศษส่วนน้อยกว่าn · …

2
ฟังก์ชันตัวแปลงตัวเลขโรมัน
สร้างฟังก์ชั่นที่สั้นที่สุดเพื่อแปลงสตริงของตัวเลขโรมันให้เป็นจำนวนเต็ม กฎสำหรับตัวอักษรแต่ละตัวสามารถพบได้ที่หน้าวิกิพีเดีย ตัวอักษรที่สูงกว่า 1,000 จะมีเครื่องหมายวงเล็บล้อมรอบพวกเขาเพื่อให้สัญญาณที่สูงกว่า ที่ต้องการ: ต้องแปลงตัวเลขโรมัน 1 ถึง 500,000 ต้องเสร็จในเวลาไม่ถึงนาที ไม่ใช้ฟังก์ชันในตัวที่สามารถให้ประโยชน์ (เช่น: ฟังก์ชันที่แปลงตัวเลขโรมันเป็นจำนวนเต็ม) เป็นฟังก์ชั่น ฟังก์ชันไม่จำเป็นต้องรองรับเศษส่วน อินพุตที่ไม่ถูกต้องควรส่งคืนหมายเลข 0 ฟังก์ชั่นที่สั้นที่สุดชนะ ในกรณีที่เสมอกันผู้ที่มีคะแนนมากที่สุดชนะ กรณีทดสอบ อินพุต III เอาท์พุต 3 อินพุต IIII เอาท์พุต 0 อินพุต XVI เอาท์พุต 16 อินพุต (C)(D)(L)MMI เอาท์พุต 452001

8
แปลงเป็นเลขโรมัน!
งานของคุณคือการแปลงจำนวนเต็มบวกที่กำหนดจากเลขอารบิกเป็นตัวเลขโรมัน ทุกอย่างยากขึ้นเมื่อคุณนับถึง 4,000 1 000ชาวโรมันทำอย่างนี้โดยการเพิ่มบรรทัดข้างต้นสัญลักษณ์การคูณสัญลักษณ์โดยที่ อย่างไรก็ตามการซ้อนทับไม่สามารถแสดงได้อย่างแน่นอนใน ASCII นอกจากนี้ยังมีการโอเวอร์ไลน์สองครั้งเพื่อทวีคูณสัญลักษณ์โดย1 000 000และจากนั้นสามโอเวอร์ไลน์เพื่อคูณสัญลักษณ์โดย1 000 000 000ฯลฯ ... ดังนั้นฉันจึงตัดสินใจใช้วงเล็บเพื่อแทนที่การวางซ้อน สัญลักษณ์สามารถวางแยกกันในวงเล็บ ยกตัวอย่างเช่นทั้งสอง(VI)และเป็นตัวแทนที่ถูกต้อง(V)(I) ยังเป็นตัวแทนที่ถูกต้องของ 60006 000(V)M (I)1 000เป็นวิธีที่ถูกต้องที่จะเป็นตัวแทน Testcases Input: 1 Output: I Input: 2 Output: II Input: 3 Output: III Input: 4 Output: IV Input: 15 Output: XV Input: 40 Output: XL Input: 60 Output: …

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