Skip to content

Instantly share code, notes, and snippets.

@jikeytang
Last active August 29, 2015 14:01
Show Gist options
  • Save jikeytang/e6d1d1417b2ec570a204 to your computer and use it in GitHub Desktop.
Save jikeytang/e6d1d1417b2ec570a204 to your computer and use it in GitHub Desktop.
[ Javascript ] - 20140521-题目3
求0—7所能组成的奇数个数,不允许重复。
比如:1,3,5组成的奇数个数为:
1,13,31,15,51,35,53,135,531,513.
共10个
回复时注意加上下面这句话,才会有语法高亮或格式缩进。
```javascript
@wsgouwan
Copy link

        function getValue(num){
            if( num > 9 ) num =9 ;
            var num = Number(new Array(num+1).join(7)), // 创建一个最大的数字出来
                arr = [];
            //对这个数字循环
            for(var i = 0; i < num; i ++){
                var onOff = false ;
                var temp = (i+'').split('');    
                onOff = temp.every(function(v){ return v <= num });
                temp = Number(temp.join(''));
                if( onOff && temp%2 != 0 ){
                    arr.push( temp )
                }
            }
            return arr
        };
        console.log( getValue(3) )

@rambo-panda
Copy link

// 对自己cpu好点  我就测试  0,1,2,3吧  TODO    下面递归排列算法部分来自github学习 如有版权问题,告诉楼主 楼主请直接删除
function Pem(arr, num) {
    var r = [];
    (function f(t, a, n) {
    if (n == 0){
        var vlaue = t.join('')-0;
        if(vlaue%2 === 0){
            return;
        }
        return r.push(t.join(''));
    }
    for (var i = 0, l = a.length; i < l; i++) {
    f(t.concat(a[i]), a.slice(0, i).concat(a.slice(i + 1)), n - 1);
    }
    })([], arr, num);
    return r;
}

var odds =Pem([0,1,2,3],4);

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment