• 【胡搞】【网页版的 某科学的抢数字区间红包的方式,永不封号!!!!】


     某科学的抢数字区间红包的方式

    (有点小bug,区间不能输入多个,不能反向)

    效果截图:

    Html代码:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>某科学的抢数字区间红包的方式</title>
        <style type="text/css">
            .d1{width: 600px;height: 600px;border-color: #c5faa0;
                background-color: #cffad1;padding: 60px;}
        </style>
    
    </head>
    <body onload="">
        <div class="d1">
            <i><h2>某科学的抢数字区间红包的方式</h2></i>
            <b>1.请输入数字红包密码的区间: </b><input type="text" size="3" id="g1" value="1"> :
            <input type="text" size="3" id="g2" value="30">
            <button type="button" onclick="init()">确定</button><br><br>
            <b>2.输入别人已经猜错的的数字</b> <br>(输入单个数字前后需要用一个空格隔开,
            '数字a:数字b' 表示已知区间[a,b] ): <br>
            <textarea name="" id="text1" cols="30" wrap="physical" rows="10">20:29 23</textarea>
            <button type="button" onclick="solve()">确定</button><br><br>
            <hr>
            <b>尚未猜到的数字集合: </b><br> <textarea name="" wrap="physical" id="text2" cols="30" rows="10"></textarea>
            <br><br>
            误输入了,手动加数到上面的数字集合:
            <input type="text" id="text3" value="1:31"><button type="button"  onclick="missing()">确定</button>
            <br><span id="Test"></span>
        </div>
        <script type="text/javascript">
            var init_flag=0;
            var maxx=30,minn=1;
            var arr=new Array();
            function $(x) {
                return document.getElementById(x);
            }
            function init(){
                var v1=$("g1").value;
                var v2=$("g2").value;
                if(v1==""||v2==""){
                    alert("输入空白!请重新输入!");return ;
                }
                maxx=Math.max(v1,v2);
                minn=Math.min(v1,v2);
                var len = maxx-minn;
                if(len>10000){
                    alert("GG!此区间范围过大!");return ;
                }
                // $("Test").innerHTML= "<br> "+minn+" "+maxx;
                while(arr.length>0)arr.pop();//清空!
                for(var i=minn;i<=maxx;i++)
                    arr.push(i);
                init_flag=1;
                show();
            }
            ///初始化
            function sortNumber(a,b)
            {
                return a - b
            }
            function solve() {    //处理已经确定的区间!
                if(!init_flag){
                    alert("请输入数字红包密码的区间,点击确认!
    ");return ;
                }
                var s=$("text1").value+" ";
                var a=new Array();
                var num=0;
                var flag=0;//是否是区间!
    
                for(var i=0;i<s.length-1;i++)
                {
                    if(s[i]==' '&&s[i+1]==' ')s.splice(i+1,1);
                }
                var i=0;
                for(;i<s.length;i++)
                {
                    if(s[i]==' ')continue;
                    else break;
                }
                for(;i<s.length;i++){
                    if(s[i]>='0'&&s[i]<='9'){
                        num=num*10+(s[i]-'0');
                      //  $("Test").innerHTML+="(i=)"+i+",s[i]:"+s[i]+",num="+num+'<br>';
                    }
                    else if(s[i]==':'||s[i]==''){
                        a.push(num);
                      //  $("Test").innerHTML+= "(:)"+num+" ";
                        num=0;
                        flag=1;
                    }
                    else{
                        if(flag==0){
                            if(num<=maxx&&num>=minn){
                                a.push(num);
                            }
                        }
                        else{
                            flag=0;
                            var v1=a[a.length-1];a.pop(); //删除最后一位
                            var v2=num;
                            for(var num=Math.min(v1,v2);num<=Math.max(v1,v2)&&num<=maxx;num++){
                                if(num<=maxx&&num>=minn){
                                    a.push(num);
                                }
                            }
                        }
                   //     $("Test").innerHTML+= "	() "+num+" ";
                        num=0;
                    }
                }
                for(var i=0;i<a.length;i++){   //删掉
                    var num=a[i];
    
                    if(num<=maxx&&num>=minn){
                        for(var j=0;j<arr.length;j++){
                            if(num==arr[j]){
                                arr.splice(j,1);
                            }
                        }
                    }
                }
                show();
            }
            ///输出剩余的可猜范围集合
            function  show() {
                if(!init_flag){
                    alert("请输入数字红包密码的区间,点击确认!
    ");return ;
                }
                var str="";
                var i=0;
                var High=35;
                arr.sort(sortNumber);
                for(i=0;i<arr.length && i<High;i++)
                    str+=""+arr[i]+" ";
                if(arr.length>High)str+="......More";
                $("text2").value=str;
            }
            ///将误输入的数据加入到数字集合中
            function missing() {
                if(!init_flag){
                    alert("请输入数字红包密码的区间,点击确认!
    ");return ;
                }
                var s=$("text3").value+" ";
                var a=new Array();
                var num=0;
                var flag=0;//是否是区间!
                var i=0;
                for(;i<s.length;i++)
                {
                    if(s[i]==' ')continue;
                    else break;
                }
                for(;i<s.length;i++){
                    if(s[i]>='0'&&s[i]<'9'){
                        num=num*10+(s[i]-'0');
                    }
                    else if(s[i]==':'||s[i]==''){
                        a.push(num);num=0;
                        if(a.length>0)
                            flag=1;
                    }
                    else{
                        if(flag==0){
                            if(num<=maxx&&num>=minn)
                                a.push(num);
                        }
                        else{
                            flag=0;
                            var v1=a[a.length-1];a.pop(); //删除最后一位
                            var v2=num;
                            for(var num=Math.min(v1,v2);num<=Math.max(v1,v2)&&num<=maxx;num++){
                                if(num<=maxx&&num>=minn)
                                    a.push(num);
                            }
                        }
                        num=0;
                    }
                }
                for(var i=0;i<a.length;i++){   //遍历a集合,将元素加入arr数组中.
                    //    $("Test").innerHTML+= "	 "+a[i]+" ";
                    var num=a[i];
                    var flag=0;
                    if(num<=maxx&&num>=minn){
                        for(var j=0;j<arr.length;j++){
                            if(num==arr[j]){
                                flag=1;break;
                            }
                        }
                        if(flag==0){
                            arr.push(num);
                        }
                    }
                }
                show();
            }
            /*设计说明:
                1.猜数加入区间':', 区间符号不区分中英文!
                2.防止空白区间的上下限 ,并且自动识别大小值!
                3.手动输入区间允许颠倒!
                4.s[i]>='0'&&s[i]<='9',bug在这里少输入了个'9'!
             */
        </script>
    </body>
    </html>
    View Code

    源文件:

       链接:https://pan.baidu.com/s/1SQeJyof1b3zlnA8GA41fdw 密码:rwdn

  • 相关阅读:
    58. 最后一个单词的长度
    53. 最大子序和
    50. Pow(x, n)
    35. 搜索插入位置
    28. 实现 strStr()
    leetcode 27. 移除元素
    leetcode 26. 删除排序数组中的重复项
    leetcode 21. 合并两个有序链表
    20. 有效的括号
    多线程案例_循环打印_设计4个线程...
  • 原文地址:https://www.cnblogs.com/zhazhaacmer/p/9782425.html
Copyright © 2020-2023  润新知