首页 新闻 会员 周边

一个算法问题

0
悬赏园豆:10 [待解决问题]

有5个对应关系,“1”-A,“2”-B,“4”-C,“8”-D,"16"-E,

需要构建一个字典对应关系如下:

"1"-A,"2"-B,"3"-A/B,"4"-C,"5"-A/C。。。。为或的关系,

如何不用全部列举,用比较简便的算法实现

不要问我从哪里来123的主页 不要问我从哪里来123 | 初学一级 | 园豆:6
提问于:2017-03-17 14:22
< >
分享
所有回答(2)
0

e就不要了吗."1"-A都在为什么"16"-E,没了

吴瑞祥 | 园豆:29449 (高人七级) | 2017-03-17 15:12

省略了啊,

0

 

作业题?

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];
    } } }

 

名字不好起啊 | 园豆:401 (菜鸟二级) | 2017-03-17 16:59
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册