zoukankan      html  css  js  c++  java
  • js For循环练习。

      一张纸的厚度是0.0001米,将纸对折,对折多少次厚度超过珠峰高度8848米

    var i = 1;
            var height = 0.0001; 
            while(true){
                
                height *= 2;
                if(height>=8848){
                    alert(i);
                    break;
                }
                i++;
            }

    这个题因为不知道具体对折多少次,所以用while比用for好一点。

    羽毛球拍15元,球3元,水2元。200元每种至少一个,有多少可能
    羽毛球拍最多买13个 球最多买66个 水最多买100个

                    i 1~13
            j 1~66
            k 1~100
            var count = 0;
            for(var i = 1; i <= 13; i++) {
                for(var j = 1; j <= 66; j++) {
                    for(var k = 1; k <= 100; k++) {
                        if(15 * i + 3 * j + 2 * k == 200) {
                            count++;
                        }
                    }
                }
                }
            alert(count);    

    要注意是每种至少一样,还有就是花费了200元,所以最后是等于200而不是等于小于200

    公鸡2文,母鸡1文,小鸡半文,每种至少一只,100文买100只鸡有多少可能性
    //公鸡最多50,母鸡最多100,小鸡最多200

    var sum=0
        
        for(a=1;a<=50;a++){
            for(b=1;b<=100;b++){
                for(c=1;c<=200;c++){
                    var x=2*a+b+0.5*c;
                    var y=a+b+c;
                    if(x==100&&y==100){
                        sum++
                    }                
                }
            }
        }
        document.write(sum);

    还是要注意每种至少一直,所以里面设定就是公鸡母鸡和小鸡每种最少为1。总数是为100

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

    var sum=0
    
        for(a=0;a<21;a++){
            for(b=0;b<11;b++){
                for(c=0;c<5;c++){
                    var x=a+2*b+5*c
                    if(x==20){
                        
                        sum++
                    }
                }
            }
        }
        document.write(sum);

    这个题要注意的是每种钱的数量是没有要求的。所以可以设置为0.和上面两个题一样的,for循环可以。

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

    幼兔 1 小兔 0 成兔 0
    幼兔 0 小兔 1 成兔 0
    幼兔 1 小兔 0 成兔 1
    幼兔 1 小兔 1 成兔 1
    幼兔 2 小兔 1 成兔 2
    幼兔 3 小兔 2 成兔 3
    幼兔 5 小兔 3 成兔 5

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

    var month = 6;
    
        var yt=1;
        var xt=0;
        var ct=0;
    
        for(var i = 1; i < month; i++) {
            var last_yt = yt;
            var last_ct = ct;
            var last_xt = xt;
            
            yt = last_ct + last_xt;
            xt = last_yt;
            ct = last_ct + last_xt;
        }
        
        alert(yt+','+xt+','+ct);

    要注意的是给上月的各种兔子的数量设定一个值。每个月的兔子数量是怎么来的要想清楚。

  • 相关阅读:
    UML模型的基本概念
    Asp.net 2.0 发送电子邮件
    生活多了些颜色
    FLASH调用网页上的JS方法,以及FLASH全屏播放的方法
    HTC编程思想
    实用的SQL精妙语句
    自己写的封装好的简单的AJAXjavascript
    SQL Server对象名
    windows开关机日志
    RegisterWindowMessage
  • 原文地址:https://www.cnblogs.com/sunzhenkun/p/7231100.html
Copyright © 2011-2022 走看看