js求渐升数的第100位

 

我弟考了道数学竞赛题,问我能不能用代码算结果..

题目是这样的 用 1、2、3、4、5 组合数字,然后排列大小,从小到大,求排在第100位的数值大小

 

function foo(chars) {
    var count = 0;
    if (!chars.length) return;
    var _foo = function(chars, tmp) {
        for (i in chars) {
            var ch = chars;
            var t = tmp + ch[i];
            var ch = delCharAt(chars, i);
            if (ch.length < 1) {
                count ++ ;
//                只打印渐升数的第100位
                if(count == 100){
                    console.log(count +':' + t)
                }

            } else {
                _foo(ch, t);
            }
        }
    };
    _foo(chars, '');
}

function delCharAt(s, i) {
    ss = '';
    for (j in s) {
        if (i != j) {
            ss += s[j];
        }
    }
    return ss;
}


foo('12345');

 

posted @ 2017-04-20 20:51  Cynthia娆墨旧染  阅读(318)  评论(0编辑  收藏  举报