มันเป็นปี MDLXVII ในโลกที่จักรวรรดิโรมันไม่เคยล้มและการล่มสลายในยุคมืดไม่เคยเกิดขึ้น เนื่องจากช่วงเวลาที่ยาวนานของ Pax Romana ทำให้เสถียรภาพทางเศรษฐกิจของจักรวรรดิเปิดใช้งานเทคโนโลยีเพื่อความก้าวหน้าในอัตราที่รวดเร็ว
ชาวโรมันเริ่มตะลุยกับวงจรไฟฟ้าและคิดค้นเครื่องคิดเลขที่แยบยลซึ่งไม่จำเป็นต้องใช้ปุ่ม "เท่ากับ" พวกเขาเรียกมันว่า "Roman Polish Notation"
ในการคำนวณพวกเขาป้อนตัวถูกดำเนินการก่อนจากนั้นจึงทำการดำเนินการ
ยกตัวอย่างเช่น 100 + 11 * 20 C XI XX * +
จะเป็น
นอกจากนี้
ชาวโรมันพบว่าพวกเขามักจะต้องทำการคำนวณหลายอย่างในเวลาเดียวกันและต้องการให้วิธีการคืนค่าทุกค่า "บนสแต็ก" ในโครงสร้างเรียงลำดับอาร์เรย์ / รายการ / ทูเปิลบางประเภท (เช่นX I + X I - CC II +
จะส่งคืน [11, 9, 202])
ความท้าทายคือการพัฒนาโปรแกรมเครื่องคิดเลขที่สามารถคำนวณได้
ชี้แจง : จำเป็นต้องมีสัญกรณ์ลบ ฉันไม่ได้ตระหนักว่ามันไม่เป็นที่รู้จักในจักรวรรดิโรมันโบราณ งานจึงคลุมเครือและฉันขอโทษ
แนวทางขั้นต่ำ
- ผลลัพธ์ของคุณจะเป็นเลขอารบิค
- คุณต้องแปลงจากตัวเลขโรมันเป็น 5,000
- คุณจะต้องสนับสนุนการดำเนินงาน +, -, /, * (นอกจากนี้การลบการหารและการคูณ)
- ไม่ว่าการแบ่งเป็นอิงทศนิยมหรือการใช้จำนวนเต็มเป็นการเจาะจง ใช้ได้กับความท้าทายนี้
- ผลลัพธ์ของคุณจะต้องรองรับตัวเลขสูงถึง 4 พันล้าน
- คำตอบที่สั้นที่สุดโดยรวมและในแต่ละภาษาจะชนะ นี่คือการท้าทายของรหัสกอล์ฟ แต่ฉันชอบความหลากหลาย
ในกรณีที่เสมอกันปัจจัยเช่นการสนับสนุนตัวเลขโรมันที่สูงกว่า 5,000 หรือการดำเนินการเพิ่มเติมจะได้รับการพิจารณาการส่งที่เร็วที่สุดจะเป็นผู้ชนะ