语句(Statement)---练习

<案例>

  • 打印100–200之间所有能被3或者7整除的数

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8" />
    <title>Document</title>
</head>
<body>
    <div id="output"></div>
    <script>
        var res = '';
        for(var i=100; i<=200; i++){
            if(i%3 === 0 ||i%7 === 0){
                res = res + i + ', ';
            }
        }
        var output = document.getElementById('output');
        output.innerHTML = res;
    </script>
</body>
</html>
  • 打印1~100的7的倍数和带7的数。
  • 求100的阶乘100! 1*2*3*4*5…*100

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8" />
    <title>100!</title>
</head>
<body>
    <div id="output"></div>
    <script>
        var a = 1; 
        for(var i=1; i<=100; i++){
            a = a * i;
        }
        document.getElementById('output').innerHTML = '100!的值为' + a;
    </script>
</body>
</html>
  • 找出所有的水仙花数,三位数,各位立方和等于该数本身。

如: 153 = 1^3 + 5^3 + 3^3


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8" />
    <title>水仙花数</title>
</head>
<body>
    <script>
    //找出所有的水仙花数,三位数,各位立方和等于该数本身。
    //如: 153 = 1^3 + 5^3 + 3^3
        document.write('<h3>三位数的水仙花数有</h3><br>')
            for(var i=100; i<1000; i++){
                var b = parseInt(i/100);
                var s = parseInt((i-b*100)/10);
                var g = i - b*100 - s*10;
                var c = b*b*b + s*s*s + g*g*g;
                // document.write(',i是'+ i + ',b是'+b+',s是'+s+',g是'+g);
                // document.write(',c是'+c+'<br>');

                if(i === c){
                    document.write( i + '<br>');
                }
            }

    </script>
</body>
</html>
  • 打印99乘法表

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="utf-8">
        <style type="text/css">
            span{
                padding:5px 10px;
                margin:5px;
                width:80px;
                background-color: rgba(0,0,0,.1);
                display: inline-block;
                box-sizing: border-box;
            }
            span:hover{
                color:rgb(255,255,255);
                background-color: skyblue;
            }
        </style>
    </head>
    <body>
        <h4>九九乘法表</h4>
        <div id="output"></div>
    <script>
    /*九九乘法表*/
        //外层循环控制行
        for(var i=1; i<10; i++){
            //内层循环控制列
            for(var j=1; j<=i; j++){
                    document.write('<span>'+j + '&times' + i + '=' + i*j+'</span>');
            }
            document.write('<br />');

        }
    </script>
    </body>
</html>

[练习]

  • 求1!+2!+3!+4!+5!…20!

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="utf-8">
    </head>
    <body>
    <script>
    // 1!+2!+3!+4!+5!…20!
        var b = 1;
        var res = 0;
        for(var i=1; i<=20; i++){
            b *= i;
            res += b;
        }
        document.write('1!+2!+3!+4!+5!…20!的值:' +res+ '<br>' );

    </script>
    </body>
</html>
  • 输入两个数,求两个数的最大公约数
> 提示: 能够同时整除两个数的最大数 
    > 如: 12和8的最大公约数是4 
    > 先找出两个数中最小的那个数, 最小数–-,找出能被两个数整除的数(退出循环) 输入两个数,
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8" />
    <title>Document</title>
</head>
<body>
    <input type="text" id="a"/>
    <input type="text" id="b"/>
    <button onclick="max()">求最大公约数</button>
    <input type="text" id="output"/>
    <script>
        //输入两个数,求两个数的最大公约数
        //提示: 能够同时整除两个数的最大数
            /*如: 12和8的最大公约数是4
            先找出两个数中最小的那个数,
            最小数–, 找出能被两个数整除的数(退出循环)*/
            var a = document.getElementById('a');
            var b = document.getElementById('b');
            var output = document.getElementById('output');
            function max(){
                var a1 = Number(a.value);
                var b1 = Number(b.value);
                if(a1>b1){
                    var j = b1;
                    for(;j>0;j--){
                        if(a1%j===0 && b1%j===0){
                            output.value = '最大公约数为'+j;
                            break;
                        }
                    }
                }else if(a1<b1){
                    var c = a1;
                    for(; c>0; c--){
                        if(a1%c===0 && b1%c===0){
                            output.value = '最大公约数为'+c;
                            break;
                        }
                    }
                }
                else if(a1===b1){
                    output.value = '最大公约数为'+a1;
                }
                else{
                    output.value = '请输入合法的数字';
                }

            }
    </script>
</body>
</html>
  • 求两个数的最小公倍数 如: 9和6的最小公倍数是18
先找出两个数中的最大数
最大数++,找出能被两个数整除的数(退出循环)
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8" />
    <title>最小公倍数</title>
</head>
<body>
    <input type="text" id="a"/>
    <input type="text" id="b"/>
    <button onclick="min()">求最小公倍数</button>
    <input type="text" id="output"/>
    <script>
        /*输入两个数,求两个数的最小公倍数
            如: 9和6的最小公倍数是18

            先找出两个数中的最大数
            最大数++,找出能被两个数整除的数(退出循环)*/
        var a = document.getElementById('a');
        var b = document.getElementById('b');
        var output = document.getElementById('output');
        function min(){
            var a1 = Number(a.value);
            var b1 = Number(b.value);
            if(a1>b1){
                var j=a1;
                for(;;j++){
                    if(j%a1 === 0 && j%b1 ===0 ){
                    output.value = '最小公倍数为'+j;
                    break;
                    }
                }
            }else if(a1<b1){
                var c=b1;
                for(;;c++){
                    if(c%a1 === 0 && c%b1 ===0 ){
                    output.value = '最小公倍数为'+c;
                    break;
                    }
                }
            }else if(a1===b1){
                output.value = '最小公倍数为'+a1;
            }else{
                output.value = '请输入合法的数字';
            }


        }
    </script>
</body>
</html>
  • 输入两个数n,a,如果n==3, a == 2;
    输出 2 + 22 + 222 的值。(不用输出式子)

如: n == 4, a == 3; 输出 3 + 33 + 333 + 3333的值。 提示:n =
3,相加三次,每次相加比前一次相加的数,多一位 每次多的这个位数的值为a, 3, 3*10+3, 33*10+3

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8" />
    <title>最小公倍数</title>
</head>
<body>
    <input type="text" id="a"/>
    <input type="text" id="b"/>
    <button onclick="min()">求最小公倍数</button>
    <input type="text" id="output"/>
    <script>
        /*输入两个数,求两个数的最小公倍数
            如: 9和6的最小公倍数是18

            先找出两个数中的最大数
            最大数++,找出能被两个数整除的数(退出循环)*/
        var a = document.getElementById('a');
        var b = document.getElementById('b');
        var output = document.getElementById('output');
        function min(){
            var a1 = Number(a.value);
            var b1 = Number(b.value);
            if(a1>b1){
                var j=a1;
                for(;;j++){
                    if(j%a1 === 0 && j%b1 ===0 ){
                    output.value = '最小公倍数为'+j;
                    break;
                    }
                }
            }else if(a1<b1){
                var c=b1;
                for(;;c++){
                    if(c%a1 === 0 && c%b1 ===0 ){
                    output.value = '最小公倍数为'+c;
                    break;
                    }
                }
            }else if(a1===b1){
                output.value = '最小公倍数为'+a1;
            }else{
                output.value = '请输入合法的数字';
            }


        }
    </script>
</body>
</html>
  • 五位数中,对称的数称为回文数,找出所有的回文数。
    如: 12321

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8" />
    <title>回文数</title>
</head>
<body>
    <p>五位数中,对称的数称为回文数,找出所有的回文数。<br />
        如: 12321</p>
    <script>
        document.write('五位数的所有的回文数是:<br />');
        for(var i=10000; i<=99999; i++){
            //个位数 i对10取余
            var g = i%10;
            //十位数
            var s = parseInt(i%100/10);
            var b = parseInt(i%1000/100);
            var q = parseInt(i%10000/1000);
            var w = parseInt(i/10000);
            if(g===w && s===q){
                document.write(i + ', ');
            }
        }
    </script>
</body>
</html>

[作业]

  • 篮球从5米高的地方掉下来,每次弹起的高度是原来的30%,经过几次弹起,篮球弹起的最终高度小于0.1米

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8" />
    <title></title>
</head>
<body>
    <script>
    /*篮球从5米高的地方掉下来,每次弹起的高度是原来的30%,经过几次弹起,篮球弹起的最终高度小于0.1米*/
    for(var a=5,i=0; a>=0.1; i++){
        a *= 0.7;
    }
        document.write('篮球从5米高的地方掉下来,每次弹起的高度是原来的30%,经过' + i +'次弹起,篮球弹起的最终高度小于0.1米');
    </script>
</body>
</html>
  • 宰相的麦子:相传古印度宰相达依尔,是国际象棋的发明者。有一次,国王因为他的贡献要奖励他,问他想要什么。达依尔说:“只要在国际象棋棋盘上(共64格)摆上这么些麦子就行了:第一格一粒,第二格两粒,……,后面一格的麦子总是前一格麦子数的两倍,摆满整个棋盘,我就感恩不尽了。”国王一想,这还不容易,刚想答应,如果你这时在国王旁边站着,你会不会劝国王别答应,为什么?
    计算小麦的重量(我国小麦千粒生一般为25-40克)

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8" />
    <title>宰相的麦子</title>
</head>
<body>
    <script>
        /*宰相的麦子:相传古印度宰相达依尔,是国际象棋的发明者。有一次,国王因为他的贡献要奖励他,问他想要什么。达依尔说:“只要在国际象棋棋盘上(共64格)摆上这么些麦子就行了:第一格一粒,第二格两粒,……,后面一格的麦子总是前一格麦子数的两倍,摆满整个棋盘,我就感恩不尽了。”国王一想,这还不容易,刚想答应,如果你这时在国王旁边站着,你会不会劝国王别答应,为什么?
        计算小麦的重量(我国小麦千粒生一般为25-40克)*/ 
        var weight = 1;
        var count = 0;
        for(var i=1; i<=64; i++){
            count += weight;
            weight *= 2;
        }
        document.write('小麦的重量范围:' + count*25/1000 +'克到' + count*40/1000 +'克');
    </script>
</body>
</html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值