笔试结束后,写了写第二道题 没有进行测试,不知道大数情况下会不会出错 function loopFractional (a, b) {     var isExit = function (i) {         if(mods[i] != undefined) {             return true;         }         return false;     }     var ints = parseInt(a/b);     var j = 2;     var mods = {};     var flag = true;     if(ints != 0) {         var r = ints + '.';     }else {         var r = 0 + '.';     }     a = a%b;     var i = 0;     var s = '';     var loop = false;     while(j <= 10000 && flag) {         j++;         a = a * 10;         //如果a能整除b,那么存入余数,跳出循环。         if(a % b == 0) {             mods[a%b] = j;             s += a / b;             flag = false;             break;         }         //如果不能整除,检测a/b的余数是否已经存在,如果已经存在,那么跳出循环.         if(isExit(a % b)) {             i = mods[a % b];             loop = true;             flag = false;             break;         }         //如果不能整除,检测a/b的余数不存在,存入余数,继续循环         if(a % b != 0) {             mods[a % b] = j;             s += parseInt(a / b);             a = a % b;             a = a * 10;         }     }     var result = r + s;     console.log(i, j);     if(j <= 10000) {         var suffix = '(' + result.substr(i-1, j - i) + ')';     }     if(!loop) {         return result;     }     return result + suffix; }    
点赞 评论
牛客网
牛客网在线编程
牛客网题解
牛客企业服务