有5个对应关系,“1”-A,“2”-B,“4”-C,“8”-D,"16"-E,
需要构建一个字典对应关系如下:
"1"-A,"2"-B,"3"-A/B,"4"-C,"5"-A/C。。。。为或的关系,
如何不用全部列举,用比较简便的算法实现
e就不要了吗."1"-A都在为什么"16"-E,没了
省略了啊,
作业题?
js写的,控制台里就能用,方便
const KEYLIST = [1, 2, 4, 8, 16]; const VALUELIST = ['A', 'B', 'C', 'D', 'E']; var maxNum = 10; for (var i = 1; i < maxNum; i ++) { var finalResault = doIt(i); console.log(i + ' - ' + finalResault); } function doIt (num) { var once = true; for(var i = KEYLIST.length - 1; i >= 0; i --) { if(num > KEYLIST[i]){ once = false; var chars = doIt(num - KEYLIST[i]); return chars + '/' + VALUELIST[i]; }else if ( num == KEYLIST[i]){ if(once){ return VALUELIST[i]; } return '/' + VALUELIST[i];
} } }