关于JS中利用for循环解决实际问题的逻辑操作

第一部分

<script>
        
//        <!--折纸:折多少次和珠穆朗玛峰一样高
//1.一张纸的厚度是0.0001米,将纸对折,对折多少次厚度超过珠峰高度8848米-->
//    
        var depth = 0.0001;
        
        for(i=1;true;i++){
            depth=depth*2
            if(depth>8848){
                alert(i);
                break;
            }
        }
        
//3.羽毛球拍15元,球3元,水2元。200元每种至少一个,有多少可能
//羽毛球拍最多买13个  球最多买66个  水最多买100个(条件限制)
    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);alert(m);
    
//4.公鸡2文,母鸡1文,小鸡半文,每种至少一只,100文买100只鸡有多少可能性
//公鸡最多50,母鸡最多100,小鸡最多200
    
    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);alert(a);

//5.凑钱 1,  2,5凑20元钱有多少可能
//        1元 20   2元 10  5元 4
        
    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);alert(a);
    
//    2.有一对幼兔,幼兔1个月后长成小兔,小兔1个月后长成成兔并生下一对幼兔,
//    问几年后有多少对兔子,幼兔、小兔、成兔对数分别是多少。
    
    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>
    
//第一题:
//X3 * 6528 = 3X * 8256
//X为一个数字 填入一个数字 使等式成立
    
    for(x=1;x<10;x++){
        var a=(x*10+3);
        var b=(3*10+x);
        if(a*6528==b*8256){
            alert(x);
        }
    }
    
//第二题:
//在页面上输出以下图形

var a="*";
         for(i=1;i<6;i++){
         for(j=1;j<6-i;j++){
         document.write("&nbsp");
     }
         for(s=1;s<2*i;s++){
    document.write(a);
    }
     document.write("<br>");
}

//第三题:
//找出100-999之间的所有“水仙花数”。所谓水仙花数是指一个三位 数,各位数字的立方和等于该数本身。
//(如15的3次方=1的3次方+5的3次方+3的3次方)并输出这些数字
    
    for(x=1;x<10;x++){
        for(y=1;y<10;y++){
            for(z=1;z<10;z++){
                m=x*x*x+y*y*y+z*z*z;
                n=100*x+10*y+z;
                                if(m==n){
                        document.write(n+"<br>");
            }
        }
    }
}
    
//第四题:
//输出1000年到现在的所有闰年
    
    var s=0;
    
    for(i=1000;i<2018;i++){
        if(i%4==0 && i%100!=0 || i%400==0){
            s+=i+"||";
        }
    }
    alert(s);

//第五题:
//编写程序,计算 1!+2!+3!+…..+10!的结果。

var sum=0;

for(i=1;i<11;i++){
        
    var a=1;
    
        for(b=1;b<=i;b++){
            a*=b;
        }
        sum+=a;
    }
    alert(sum);
    
</script>

时间: 2024-10-20 19:22:12

关于JS中利用for循环解决实际问题的逻辑操作的相关文章

关于JS中利用for循环解决实际问题的相关练习

第一题:X3 * 6528 = 3X * 8256X为一个数字 填入一个数字 使等式成立 for(x=1;x<10;x++){    var a=(x*10+3);    var b=(3*10+x);    if(a*6528==b*8256){         alert(x);     } }第二题:在页面上输出以下图形    *   ***  ***** **************** var x = 1; for(var i=4;i>=0;i--){ for(var sp = 1;

js事件、Js中的for循环和事件的关系、this

一.js事件  1.事件 用户在网页中所触发的行为 鼠标滑动种类很多,键盘.表单特列: 点击:onclick 鼠标进入:onmouseenter 鼠标离开:onmouseleave 鼠标悬浮:onmouseover  鼠标移除:onmouseout 鼠标按下:onmousedown 鼠标抬起:onmouseup 鼠标移动:onmousemove 表单聚焦:onfocus 表单失去焦点:onblur 浏览器加载完成:onload js事件是一直存在的,可以绑定方法,也可以不绑定,如果没有绑定,事件

js中利用cookie实现记住密码功能

js中利用cookie实现记住密码功能 在登录界面添加记住密码功能,我首先想到的是在java后台中调用cookie存放账号密码,大致如下: 1 HttpServletRequest request 2 HttpServletResponse response 3 Cookie username = new Cookie("username ","cookievalue"); 4 Cookie password = new Cookie("password

php中的for循环和js中的for循环

php中的for循环 循环100个0 for ($i=0;$i<=100;$i++){ $pnums.='0'.","; } js中的for循环,循环31个相同的数.循环日期时间 var list=[]; for(var i= 0;i < 31;i++){ list.push(620); }//日期时间 var list = []; for (var i = 1; i <= 31; i++) { list.push('2017.01.' + i); }

js中的for循环

1 js中的for循环,实心菱形,空心菱形,九九乘法表,等腰三角形 /* * 2 * * 3 * * * 4 * * 5 * 6 */ 7 8 //实心菱形 9 10 var count=3; 11 for (var i=1;i<=count ;i++ ) 12 { 13 for (var k=3;k>=i ;k-- ) 14 { 15 document.write(" "); 16 } 17 for (var j=1;j<=i ;j++) 18 { 19 docum

在js中利用标签添加元素

在js中会利用此种方法来添加div元素,如果想在后面的代码中继续利用它,需要来一行: <script> var oul=document.getElementsByTagName('ul')[0]; var oli=document.getElementsByTagName('li'); for(var i=0;i<5;i++){ oul.innerHTML+=''<li>"+i+"</li>" } alert(oli.length)

js中闭包for循环

var a=[]; for(var i=0;i<10;i++){ a[i]=function(){ alert(i); } } alert(i); //10 a[0](); //10 a[9](); //10 为什么a[0]到a[9]都是10,而不是我们想像中的0到9呢? 我的理解是js的作用域导致的. 首先来看参数的传递.js是按值传递的,源代码中的a[i]=function(){alert(i)},a[i]保存的是一个指向堆内存的地址(对象和方法在js中保存在堆内存中).当每一次for循环时

js中,for循环里面放ajax,ajax访问不到变量以及每次循环获取不到数据问题总结

首先晒下自己代码 for ( var i = 0; i < rows.length; i++) { $.ajax({ type:'POST', url:'${ctx }/admin/store_item/findStoreItemsByType?typeid=' +flag+'&id='+rows[i].id,//请求的url地址 async: false,//设置成同步 dataType:'json', success:function(data){ if(flag==1){ $('#ch

JS中常用的循环及其他

1.条件语句 if(条件语句)    {执行语句1}else    {执行语句2} 2.循环语句 for(变量,判断,变量递增/减){执行语句} for:变量经过判断语句后先执行后递增,不合符条件后不再执行 3.while和do while while(表达式1){表达式2:}表达式3: while先进行表达1的判断,符合条件执行表达式2,不符合条件执行表达式3 do{表达式1:}while(表达式2):表达式3: 不管是否符合条件,先执行表达式1,再进行表达式2的判断,决定是否执行表达3,这种