2_2 JavaScript练习

《在控制台打印输出》

1、【回文数】
打印5位数中的所有回文数,最后统计一下一共有多少个5位回文数。

注:回文数即正反读都是一个数,5位数的话,只要个位与万位相同,十位与千位相同就是一个回文数。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        T01;
        function T01() {
            var count=0;
        for(var i=10000;i<100000;i++){
            var a1=parseInt(i/10000);
            var a2=parseInt(i%10);
            var a3=parseInt(i/1000%10);
            var a4=parseInt(i/10%10);
           if(a1==a2&&a3==a4){
            console.log(i);
            count++;
           }
        }
        console.log(count);
        }
       
        T01()
    </script>
    function T01(){

    }
</body>
</html>

2、【求完数】
一个数如果恰好等于它的所有真因子(即除了自身外的所有因数)之和,这个数就称为"完数"。

请编程求出1000 以内的所有完数

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
         
        for(var i=1;i<=1000;i++){
          //  console.log(i);
            var sum=0;
            for(var j=1;j<i;j++){ 
                if (i%j==0) {
                 sum+=j;  
                // console.log(sum);
                }
            }
            //console.log(i==sum);
            if (sum==i) {
                console.log(i);
            }

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

3、【求不重复数字】
有1、2、3、4一共四个数字,能组成多少个不相等且无重复数字的三位数?都是多少?

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        var count=0;
        for(i=1;i<5;i++){
            for(j=1;j<5;j++){
                for(k=1;k<5;k++){
            if(i!==j&&i!==k&&j!==k){
                console.log(i+""+j+""+k);
                count++;
            }
        }
        }
        }
        console.log("一共有:"+count+"个数");
    </script>
</body>
</html>

4、一个正整数,请求:1.它是几位数?2.逆序打印出各位数字。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
       
        var a=12345;
        var c="";
        var b=a+"";
        console.log("位数是:"+b.length);
        for(var i=b.length-1;i>=0;i--){
             c+=b.charAt(i);
            
        }
        console.log("逆序数是:"+c);
    </script>
</body>
</html>

5、【数列的前n项和】
有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13. 求出这个数列的前20项之和。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        var count=0;
        var sum=0;
        var b=1;
        var a=2;
        for(var i=1;i<21;i++){  
            var  count=a/b;
           var c=a;
            a=a+b;
            b=c;

            console.log(count);
            sum+=count
        }
        console.log("和:"+sum);
    </script>
</body>
</html>

6、【求奇数/偶数和】
求100以内的所有奇数/偶数的和。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        var sum=0;
        var sum1=0;
        for(var i=1;i<101;i++){
            if(i%2==0){
                sum+=i;
            }else{
                sum1+=i;
            }
        }
        console.log("奇数和"+sum);
        console.log("偶数和"+sum);
    </script>
</body>
</html>

7、【自由落体】
假如一个小球从100米高度自由落下,每次落地后就反跳回原高度的一半。那么求它在第10次落地时,共经过多少米?第10次反弹多高?

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        var count=0;
        var h=100;
        for(var i=1;i<11;i++){
            var th=h/2;
            count+=th;
            h=th;     
        }
        console.log("共经过:"+count+"米");
        console.log("第10次反弹多高"+th+"米");
    </script>
</body>
</html>

8、【循环练习-蜗牛爬井】
井里有一只蜗牛,他白天往上爬5米,晚上掉3.5 米,井深56.7米,计算蜗牛需要多少天才能从井底到爬出来。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        var pa=0;
        var day=1;
        while(true){
            
            pa+=5;
            if(pa>56.7){
                console.log("蜗牛需要:"+day+"天才能从井底到爬出来");
                break;
            }
            pa-=3.5;
            day++;
        }
    </script>
</body>
</html>

9、【求和-去除7倍数和包含7】
打印出1-100之间所有不是7的倍数和不包含7的数字, 并求和。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        var sum=0;
        
        for (var i = 0; i < 101; i++) {
            if (i%7!=0&&parseInt(i/10)!=7&&i%10!=7){
                console.log(i);
               sum+=i;
            }
        }
        console.log(sum);
    </script>
</body>
</html>

10、【排序】
随机给十个数字,对它们进行排序。(可以给一个有10个整数元素的数组,然后对数组排序)

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        var arr=[];
        for( var x=0;x<10;x++){
          
            arr.push(Math.random(Math.random() * 101));
        }
        console.log(arr);
        
        arr.sort( fun1 ); // 数字排序(会按照字面量的大小) 
	console.log( arr );
	// 定义排序函数 
	function fun1(a,b){
		return a-b; 
	}
    </script>
</body>
</html>

11. 古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一
对兔子,假如兔子都不死,问每个月的兔子总数为多少?

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
    /*
    1 1 2 3 5 8 13 21
    */         

    var a=1;
    var b=1;
    var i=12;
    if(i<=2){
        console.log(1);
    }else {
        for(var x=3;x<=i;x++){
            sum=a+b;
            a=b;
            b=sum;
        }
        console.log(sum);
    }
    </script>
</body>
</html>

12. 判断101-200之间有多少个素数,并输出所有素数。 
素数又叫质数,就是除了1和它本身之外,再也没有整数能被它整除的数。也就是素数只有两个因子。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
         var count=0;
        var x=101;
        var y=200;
        for (var i = x; i <=y ; i++) {
            var flag=true;
            for (var j = 2; j < i; j++) {
                if (i%j==0){
                    flag=false;
                    break;
                }

            }
            if (flag==true){
                console.log(i+" ");
                count++;
            }
        }      
        console.log("一共有"+count+"个素数");
       

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

13. 打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        for (var i = 1; i < 10; i++) {
            for (var  j = 0; j < 10; j++) {
                for (var  k = 0; k < 10; k++) {
                    if (i*i*i+j*j*j+k*k*k==i*100+j*10+k){
                        
                        console.log(i*100+j*10+k);
                    }
                }
            }
        }
    </script>
</body>
</html>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值