Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript

อัลกอริทึม JavaScript แปลงตัวเลขโรมันเป็นเลขฐานสิบ


เราต้องเขียนฟังก์ชันที่รับสตริงตัวเลขโรมันและคืนค่าเทียบเท่าทศนิยม (ฐาน 10) ดังนั้นมาเขียนโค้ดสำหรับฟังก์ชันนี้

ตัวอย่าง

const romanToInt = (s) => {    const legend = "IVXLCDM";    const l=[1,5,10,50,100,500,1000];    let sum=0;    while(s){       if(!!s[1] && legend.indexOf(s[0]) < legend.indexOf(s[1])){          sum += (l[legend.indexOf(s[1])] - l[legend.indexOf(s[0])]);          s = s.substring(2, s.length);       } else {          sum += l[legend.indexOf(s[0])];          s = s.substring(1, s.length);       }    }    return sum; }; console.log(romanToInt('CLXXVIII')); console.log(romanToInt('LXXXIX')); console.log(romanToInt('LV')); console.log(romanToInt('MDLV'));

ผลลัพธ์

ผลลัพธ์ในคอนโซลจะเป็นดังนี้

178 89 55 1555