js题目

来源:互联网 发布:flash游戏源码 编辑:程序博客网 时间:2024/06/09 18:30
罗马数字的题目。
首先你需要知道罗马数字是怎么来的。具体我这里不说了
我后来搜了一下别的答案,有更加好的,你们自己去搜吧,但是我不太确定他这个思路是对的
还有类似于我这样查表的,但我这个表好的点在于,扩展性比较好,比如万,亿等等数字都可以在这里扩展,他们的答案是写死的

function convert(num) {
var arr=[['I','V','X'],['X','L','C'],['C','D','M'],['M']];
var num1=num;
var arr1=[];
var i=0;
while(num1>0){
switch(num1%10){
case 0:

break;
case 1:
arr1=arr[i][0]+arr1;
break;
case 2:
arr1=arr[i][0]+arr[i][0]+arr1;
break;
case 3:
arr1=arr[i][0]+arr[i][0]+arr[i][0]+arr1;
break;
case 4:
arr1=arr[i][0]+arr[i][1]+arr1;
break;
case 5:
arr1=arr[i][1]+arr1;
break;
case 6:
arr1=arr[i][1]+arr[i][0]+arr1;
break;
case 7:
arr1=arr[i][1]+arr[i][0]+arr[i][0]+arr1;
break;
case 8:
arr1=arr[i][1]+arr[i][0]+arr[i][0]+arr[i][0]+arr1;
break;
case 9:
arr1 = arr[i][0]+arr[i][2]+arr1;
break;
}
num1=Math.floor(num1/10);
i=i+1;


}
return arr1;
}

convert(12);
原创粉丝点击