• 几很有代表性的个for循环的练习题


    折纸:折多少次和珠穆朗玛峰一样高
    1.一张纸的厚度是0.0001米,将纸对折,对折多少次厚度超过珠峰高度8848米

    <!DOCTYPE html>
    <html>
    	<head>
    		<meta charset="UTF-8">
    		<title></title>
    	</head>
    	<body>
    	</body>
    </html>
    <script type="text/javascript">
    	var depth = 0.0001;
            
            for(i=1;true;i++){
                depth=depth*2
                if(depth>8848){
                    alert(i);
                    break;
                }
            }
    </script>
    

      最后得到结果:


    2.有一对幼兔,幼兔1个月后长成小兔,小兔1个月后长成成兔并生下一对幼兔,问8个月后有多少对兔子,幼兔、小兔、成兔对数分别是多少。

    幼兔 1 小兔 0 成兔 0 初始值
    幼兔 0 小兔 1 成兔 0 第一个月
    幼兔 1 小兔 0 成兔 1 第二个月
    幼兔 1 小兔 1 成兔 1 第三个月
    幼兔 2 小兔 1 成兔 2 第四个月
    幼兔 3 小兔 2 成兔 3 第五个月
    幼兔 5 小兔 3 成兔 5 第六个月

    当前月份幼兔 = 上个月的成兔+上月小兔
    当前月份小兔 = 上月幼兔
    当前月份成兔 = 上月成兔+上月小兔

    <!DOCTYPE html>
    <html>
    	<head>
    		<meta charset="UTF-8">
    		<title></title>
    	</head>
    	<body>
    	</body>
    </html>
    <script type="text/javascript">
    	   var syt = 1; 
        var sxt = 0; 
        var sct = 0; 
        var dyt = 0; 
        var dxt = 0; 
        var dct = 0; 
        
        for(var i=0;i<10;i++) { 
            //计算当前月份的兔子数量 
            dyt = sxt+sct; 
            dxt = syt; 
            dct = sct+sxt; 
            //将当前月份的数量转为上个月的 
            syt = dyt; 
            sxt = dxt; 
            sct = dct;
        } 
        var s = "10个月之后幼兔:"+dyt+"个,小兔:"+dxt+"个,成兔:"+dct+"个"; 
        alert(s);s
            
        </script>
    </script>
    

      得到的结果为:


    3.羽毛球拍15元,球3元,水2元。200元每种至少一个,有多少可能

    羽毛球拍最多买13个 球最多买66个 水最多买100个

    <!DOCTYPE html>
    <html>
    	<head>
    		<meta charset="UTF-8">
    		<title></title>
    	</head>
    	<body>
    	</body>
    </html>
    <script type="text/javascript">
    	var m = "";        
        var n = 0;
        
        for(i=1;i<=13;i++){
            for(x=1;x<=66;x++){
                for(y=1;y<=100;y++){
                    var money=i*15+x*3+y*2;
                    if(money==200){
                        m += "球拍"+i+"球"+x+"水"+y+"|";
                        n++;
                    }
                }
            }
        }
        alert(n);;
    </script>
    

      其结果为:


    4.公鸡2文,母鸡1文,小鸡半文,每种至少一只,100文买100只鸡有多少可能性

    公鸡最多50,母鸡最多100,小鸡最多200

    <!DOCTYPE html>
    <html>
    	<head>
    		<meta charset="UTF-8">
    		<title></title>
    	</head>
    	<body>
    	</body>
    </html>
    <script type="text/javascript">
    	  var a = "";        
        var b = 0;
        
        for(i=1;i<=50;i++){
            for(x=1;x<=100;x++){
                for(y=1;y<=200;y++){
                    var money=i*2+x*1+y*0.5;
                    var number=i+x+y;
                    if(money==100 && number==100){
                        a += "公鸡"+i+"母鸡"+x+"小鸡"+y+"|";
                        b++;
                    }
                }
            }
        }
        alert(b);
    </script>
    

      其结果为:


    5.凑钱1,2,5凑20元钱有多少可能

    1元 20 2元 10 5元 4

    <!DOCTYPE html>
    <html>
    	<head>
    		<meta charset="UTF-8">
    		<title></title>
    	</head>
    	<body>
    	</body>
    </html>
    <script type="text/javascript">
    	
         var a = "";        
        var b = 0;
        
        for(i=0;i<=20;i++){
            for(x=0;x<=10;x++){
                for(y=0;y<=4;y++){
                    var money=i+x*2+y*5;
                    if(money==20){
                        a += "一元"+i+"两元"+x+"五元"+y+"|";
                        b++;
                    }
                }
            }
        }
        alert(b);
    </script>
    

      其结果为:

    括号里面只能放加或减,如果要使等式成立,括号里面应该放什么运算符
    12()34()56()78()9 = 59

    <!DOCTYPE html>
    <html>
    	<head>
    		<meta charset="UTF-8">
    		<title></title>
    	</head>
    	<body>
    	</body>
    </html>
    <!--括号里面只能放加或减,如果要使等式成立,括号里面应该放什么运算符
    12()34()56()78()9 = 59-->
    
    <script type="text/javascript">
    	
    	for (a=-1;a<2;a=a+2) {
    		for (b=-1;b<2;b=b+2) {
    			for (c=-1;c<2;c=c+2) {
    				for (d=-1;d<2;d=d+2) {
    						if (12+a*34+b*56+c*78+d*9==59) {
    							alert(a+","+b+","+c+","+d)
    						}
    					
    				}
    			}
    		}
    	}
    </script>
    

      得到结果:

  • 相关阅读:
    ASCII码表记忆规律
    Live Photos原理
    FAAS -- Serverless
    wasm能力检测
    守则
    split分割文件
    个人开源项目:微服务全栈技术学习开源项目,涵盖Java及前端主流技术点
    采用React+Ant Design组件化开发前端界面(一)
    SpringBoot 2.0中SpringWebContext 找不到无法使用的问题解决
    [做全栈攻城狮]程序员带你学习安卓开发-安卓基础之网络编程 大汇总
  • 原文地址:https://www.cnblogs.com/sunbo123/p/7724294.html
Copyright © 2020-2023  润新知