zoukankan      html  css  js  c++  java
  • 随机产生数组长度是80的序列

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title></title>
    </head>
    <body>
        <script>
            var str = '';
            var add =[1,2,3,4,5,6,8,9];
            var newArr = [1,2,3,4,5,6,7,8,9,-1,-2,-3,-4,-5,-6,-7,-8,-9];
            function getN(arr){
                return Math.floor(Math.random() * arr.length + 1)-1; 
            }
            var resultArr = [];
            var log = '';
            function randNum(){
                for(var i =0;i<80;i++){
                    var num = newArr[getN(newArr)];//随机取了一个数字 Math.abs(aaa);
                    if(num < 0){//负数
                        if(inArray(Math.abs(num),resultArr) != -1 && (repeatNum(num,resultArr) != repeatNum(Math.abs(num),resultArr))){//正数存在,而且正负是不成对
                            resultArr.push(num);
                        } else {//正数不存在
                            resultArr.push(-num);
                        }
                    } else {//正数
                        if((repeatNum(-num,resultArr) == repeatNum(Math.abs(num),resultArr))){//正数存在,而且正负成对
                            resultArr.push(num);
                        } else {//正数不存在
                            resultArr.push(-num);
                        }
                    }
                }
                str += resultArr.join(',') + '|' + check(resultArr) + '<br>';
            }
    
            function getArr(n){
                for(var i = 0; i<n; i++){
                    resultArr.length =0;
                    randNum();
                }
            }
    
        //查找索引
        function inArray(t,arr){
            if(arr.indexOf){
                return arr.indexOf(t);
            }
            for(var i=arr.length;i--;){
                if(arr[i]===t){
                    return i*1;
                }
            };
            return -1;
        }
    
        //删除数组某一个
        function deleInArray(n,arr){
            if(n<0) return false;
            arr.splice(n,1);
        }
    
        //重复次数
        function repeatNum(t,arr){
            var times = 0;
            for(var i = 0;i<arr.length;i++){  
                if(t == arr[i]){
                    times ++;
                }  
            }
            return times;                  
        }
    
        function addFunc(){
            var newNum = newArr[getN(add)];
            if(inArray(newNum,resultArr) == -1){//不存在
                resultArr.push(newNum);
            } else {
                addFunc();
            }        
        }
    
        //检查数据
        function check(arr){
            var maxNum = 0;
            var str = '';
            for(var i = 0; i<arr.length; i++){
                maxNum += arr[i];
                if(maxNum >= 45){
                    str = '不可用' + '|' + '' + i + '个数字' + '|' + '数字是:' + arr[i];
                    break;
                } else {
                    str = '可用';
                }
            }
            return str;
        }
        getArr(100);
        document.write(str);
        </script>
    </body>
    </html>

    目的是产生,数组长度是80的序列。正负相抵消,最后只剩下1到9就当作是中奖!注意要先产生正的才能出现负的!

  • 相关阅读:
    Superset 制作图表
    superset 安装配置
    python 虚拟环境 pyenv
    pymysql 单独获取表的栏位名称
    pymysql 返回数据为字典形式(key:value--列:值)
    Oracle/MySQL decimal/int/number 转字符串
    netstat 问题处理
    MySQL 中Index Condition Pushdown (ICP 索引条件下推)和Multi-Range Read(MRR 索引多范围查找)查询优化
    MySQL执行计划extra中的using index 和 using where using index 的区别
    ref与out
  • 原文地址:https://www.cnblogs.com/violinxliu/p/4201696.html
Copyright © 2011-2022 走看看