zoukankan      html  css  js  c++  java
  • for循环案例

    for循环案例

      今天给大家介绍点for循环的案例

    1.大马驮2石粮食,中马驮1石粮食,两头小马驮一石粮食,要用100匹马,驮100石粮食,该如何调配?

     1 <!DOCTYPE html>
     2 <html lang="en">
     3 <head>
     4     <meta charset="UTF-8">
     5     <title></title>
     6 </head>
     7 <body>
     8     <script>
     9         var c=0;
    10         for(var x=0;x<=50;x++){//大马,因为大马驮2石粮食所以说最多一共能有50匹大马
    11             for(var y=0;y<=100;y++){//中马,因为中马驮1石粮食所以最多能有100匹中马
    12                 for(var z=0;z<=100;z++){//小马,因为最多能100匹马,所以小马不能超过100匹
    13                     if((x*2+y+z/2==100) && (x+y+z==100)){//条件1:三种马一共驮100石粮食;条件2:三种马一共要用100匹马
    14                         c++;//一共有多少种方法
    15                         document.write('大马有'+x+'匹,中马有'+y+'匹,小马有'+z+'匹<br />')
    16                     }
    17                 }
    18             }
    19         }
    20         document.write('<b>一共有'+c+'种方法</b>');
    21     </script>
    22 </body>
    23 </html>

    2.某侦察队接到一项紧急任务,要求在A、B、C、D、E、F六个队员中尽可能多地挑若干人,但有以下限制条件:
      ●A和B两人中至少去一人; 
      ●A和D不能一起去;
      ●A、E和F三人中要派两人去;
      ●B和C都去或都不去;
      ●C和D两人中去一个;
      ●若D不去,则E也不去。
    问应当让哪几个人去?

     1 <!DOCTYPE html>
     2 <html lang="en">
     3 <head>
     4     <meta charset="UTF-8">
     5     <title></title>
     6 </head>
     7 <body>
     8     <script>
     9         for(var a=0;a<=1;a++){
    10             for(var b=0;b<=1;b++){
    11                 for(var c=0;c<=1;c++){
    12                     for(var d=0;d<=1;d++){
    13                         for(var e=0;e<=1;e++){
    14                             for(var f=0;f<=1;f++){//abcdef6个人假设都去,若为0则不去,1为去。
    15                                 if ((a+b>=1) && (a+d<=1) && (a+e+f==2) && (b==c) && (c+d==1) && (d+e==0 || d==1 )) {
    16                                     document.write(a,b,c,d,e,f);//输出所有人,去的为1,不去的为0;
    17                                 }
    18                             }
    19                         }
    20                     }
    21                 }
    22             }
    23         }
    24     </script>
    25 </body>
    26 </html>

    3.公园里有一只猴子和一堆桃子,猴子每天吃掉桃子总数的一半,把剩下一半中扔掉一个坏的。到第七天的时候,猴子睁开眼发现只剩下一个桃子。问公园里刚开始有多少个桃子?

     1 <!DOCTYPE html>
     2 <html lang="en">
     3 <head>
     4     <meta charset="UTF-8">
     5     <title></title>
     6 </head>
     7 <body>
     8     <p>解析:反推,最后一天有1个,所以说第6天有 (1+1)*2 个桃子,所以说第n天有 (x+1)*2 个桃子。</p>
     9     <script>
    10         var x=1;
    11         for(var i=1;i<=6;i++){//因为我们知道第7天的桃子所以说从第6天开始反推,
    12             x=(x+1)*2;
    13         }
    14         document.write('<b>公园里刚开始有'+x+'个桃子</b>');
    15     </script>
    16 </body>
    17 </html>

    4. 1~100奇数的和

     1 <!DOCTYPE html>
     2 <html lang="en">
     3 <head>
     4     <meta charset="UTF-8">
     5     <title></title>
     6 </head>
     7 <body>
     8     <p>解析:想做好这道题必须得知道两相邻奇数之间的差是多少</p>
     9     <script>
    10         var sum_j = 0
    11         for (var i=1;i<=100;i+=2){//i=i+2
    12             sum_j +=i;//sum_j=sum_j+i
    13         }
    14         document.write(sum_j+'&nbsp;为1~100之间奇数的和');
    15     </script>
    16 </body>
    17 </html>

    5. 1~100偶数的和

     1 <!DOCTYPE html>
     2 <html lang="en">
     3 <head>
     4     <meta charset="UTF-8">
     5     <title></title>
     6 </head>
     7 <body>
     8     <p>解析:同上一题一样,如果理解了上一题那么这一题就简单了。</p>
     9     <script>
    10         <script>
    11         var sum_o =0
    12         for (var i=2;i<=100;i+=2){
    13             sum_o +=i;
    14         }
    15         document.write(sum_o+'&nbsp;为1~100之间偶数的和')
    16     </script>
    17</body>
    18</html>

    6. 9*9乘法表

     1 <!DOCTYPE html>
     2 <html lang="en">
     3 <head>
     4     <meta charset="UTF-8">
     5     <title></title>
     6     <style>
     7         td{width: 60px;height: 30px;line-height: 30px;text-align: center;border: 1px solid #000;}
     8     </style>
     9 </head>
    10 <body>
    11     <p>超简单就不在这里解释了</p>
    12     <script>
    13         document.write('<table>');
    14         for(var i=9;i>=1;i--){
    15             document.write('<tr>');
    16             for(var j=1;j<=i;j++){
    17                 document.write('<td>'+i+'x'+j+'='+i*j+'</td>')
    18             }
    19             document.write('</tr>');
    20         }
    21         document.write('</table>');
    22     </script>
    23 </body>
    24 </html>

    7.通过for循环实现百钱买百鸡的题:公鸡5元每只,母鸡3元每只,小鸡3只1元,100元买100只鸡有多少种方法

     1 <!DOCTYPE html>
     2 <html lang="en">
     3 <head>
     4     <meta charset="UTF-8">
     5     <title></title>
     6     <style>
     7         td{width: 60px;height: 30px;line-height: 30px;text-align: center;border: 1px solid #000;}
     8     </style>
     9 </head>
    10 <body>
    11     <script>
    12         var a=0;
    13         for(var x=0;x<=20;x++){//公鸡,公鸡5元每只,所以说最多能买20只
    14             for(var y=0;y<=33;y++){//母鸡,母鸡3元每只,所以最多能买33只
    15                 for(var z=0;z<=100;z++){//小鸡,一共最多可以买100只鸡
    16                     if ((x+y+z==100)&&(5*x+3*y+z/3==100)) {//条件1:三种鸡一共不能超过100只;条件2:三种鸡一共要花100元钱
    17                         document.write('公鸡有'+x+''+'母鸡有'+y+''+'小鸡有'+z+''+'<br />');
    18                         a++
    19                     }
    20                 }
    21             }
    22         }
    23         document.write('一共有'+a+'种方法');
    24     </script>
    25 </body>
    26 </html>

    8.水仙花数

     1 <!DOCTYPE html>
     2  <html lang="en">
     3  <head>
     4      <meta charset="UTF-8">
     5      <title></title>>
     6  </head>
     7  <body>
     8      <p>解析:想要解答这道题必须得知道什么叫水仙花数。即:abc是一个三位数(100<=xyz<=999),xyz=x^3+y^3+z^3</p>
     9      <p>注:水仙花数只有3位数,4位数的叫"四叶玫瑰数"</p>
    10      <script>
    11          //因为是3位数所以第1位不能为0;
    12         for(var x=1;x<=9;x++){
    13             for(var y=0;y<=9;y++){
    14                 for(var z=0;z<=9;z++){
    15                      if (x*x*x+y*y*y+z*z*z==x*100+y*10+z){
    16                         document.write(x+'^3+'+y+'^3+'+z+'^3+'+'='+x+y+z+'<br />');
    17                      }
    18                  }
    19              }
    20          }
    21      </script>
    22  </body>
    23  </html>

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

     1 <!DOCTYPE html>
     2 <html lang="en">
     3 <head>
     4     <meta charset="UTF-8">
     5     <title></title>
     6 </head>
     7 <body>
     8     <p>解析:乍一看是不是有点难呢?别着急咱们一步一步的来</p>
     9     <script>
    10         var a=1,b=0,c=0,sum=0;//先定义三种兔 a为幼兔,b为小兔,c为成兔。sum为所有兔子的对数总和。
    11         for(i=1;i<=10;i++){//从第一个月开始我们已经有了1对兔子了所以 i=1 ;
    12             if(i==1){//因为第一个月的兔子还没有成长并且没有规律可寻,所以我们直接写出来
    13                 a=1;
    14                 b=0;
    15                 c=0;
    16                 sum=1;
    17             }else{
    18                 c=b+c;//本月的成兔=上月的成兔+上月的小兔
    19                 b=a;//本月小兔=上月幼兔
    20                 a=c;//本月幼兔=本月成兔
    21                 sum=a+b+c;
    22                 //顺序不能变,因为成兔是没有和本月的兔子挂钩的所以要写第一个以免产生覆盖;因为本月的小兔和上月的幼兔有挂钩,而本月的幼兔和本月的成兔有挂勾所以所 b=a 要写在 a=c 之前
    23             }
    24             document.write('幼兔有:'+a+'对,小兔有:'+b+'对,成兔有:'+c+'对,共有兔子:'+sum+'对<br />');
    25         }
    26         document.write('所以说10个月后有'+sum+'对兔子<br />');
    27     </script>
    28 </body>
    29 </html>

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

     1 <!DOCTYPE html>
     2 <html lang="en">
     3 <head>
     4     <meta charset="UTF-8">
     5     <title>Document</title>
     6 </head>
     7 <body>
     8     <script>
     9         var n=0;
    10         for(var x=0;x<=20;x++){//x为1元所以x最多不能超过20张
    11             for(var y=0;y<=10;y++){//y为2元,所以y最多不能超过10张
    12                 for(var z=0;z<=4;z++){//因为z为5元所以z最多不能超过4张
    13                     if (x+y*2+z*5==20){//条件:三种钞票的和等于20
    14                         document.write('1元有'+x+'张&nbsp;'+'2元有'+y+'张&nbsp;'+'5元有'+z+''+'<br />');
    15                         n++
    16                     }
    17                 }
    18             }
    19         }
    20         document.write('共有'+n+'种方法');
    21     </script>
    22 </body>
    23 </html>

    11.绘制

      (1 ●●●●●●●●
        ●●●●●●●●
        ●●●●●●●●
        ●●●●●●●●
        ●●●●●●●●
        ●●●●●●●●
        ●●●●●●●●

     1 <!DOCTYPE html>
     2 <html lang="en">
     3 <head>
     4     <meta charset="UTF-8">
     5     <title>Document</title>
     6 </head>
     7 <body>
     8     <script>
     9         for(var i=1;i<=7;i++){//一共有7行所以循环7次
    10             for(var j=1;j<=8;j++){//有8列所以循环8次
    11                 document.write("");
    12             }
    13             document.write("<br />");
    14         }
    15     </script>
    16 </body>
    17 </html>

      (2 ●
        ●●
        ●●●
        ●●●●
        ●●●●●

     1 <!DOCTYPE html>
     2 <html lang="en">
     3 <head>
     4     <meta charset="UTF-8">
     5     <title>Document</title>
     6 </head>
     7 <body>
     8     <script>
     9         for(var i=1;i<=5;i++){//一共有5行
    10             for(var j=1;j<=i;j++){//行数和列数相同所以 j<=i 
    11                     document.write('');
    12                 }
    13             document.write('<br />');
    14         }
    15     </script>
    16 </body>
    17 </html>

      (3●●●●●
       ●●●●
       ●●●
       ●●
       ●

     1 <!DOCTYPE html>
     2 <html lang="en">
     3 <head>
     4     <meta charset="UTF-8">
     5     <title>Document</title>
     6 </head>
     7 <body>
     8     <script>
     9         for(var i=5;i>=1;i--){//有5行所以i=5;为啥要做 i-- 运算呢?咱们把最后一行当做第一行来看是不是每1行的值都是相同的呢?
    10             for(var j=1;j<=i;j++){
    11                 document.write('');
    12             }
    13             document.write('<br />');
    14         }
    15     </script>
    16 </body>
    17 </html>

      (4□□□□●
       □□□●●
       □□●●●
       □●●●●
       ●●●●●

     1 <!DOCTYPE html>
     2 <html lang="en">
     3 <head>
     4     <meta charset="UTF-8">
     5     <title>Document</title>
     6 </head>
     7 <body>
     8     <p>解析:这道题和第一道题相似,做类似的题型时,我们先绘制出全部都是为 □ 的来</p>
     9     <script>
    10         for(var i=1;i<=5;i++){//行数
    11             for(var j=5;j>=1;j--){//列数
    12                 if(i<j){//通过观察我们可以知道行数和 ● 是相同的所以 i<j
    13                     document.write('');
    14                 }else{
    15                     document.write('');
    16                 }
    17             }
    18             document.write('<br />');
    19         }
    20     </script>
    21 </body>
    22 </html>

    12.小明单位发了100元的购物卡,小明到超市买三类洗化用品,洗发水(15元),香皂(2元),牙刷(5元)。要把100元整好花掉,能有多少种方法?

     1 <!DOCTYPE html>
     2 <html lang="en">
     3 <head>
     4     <meta charset="UTF-8">
     5     <title>Document</title>
     6 </head>
     7 <body>
     8     <p>这道题上面有类似的题,请看上面的题,如果还是不懂请评论区问我!!</p>
     9     <script>
    10         var e=0;
    11         for(var a=0;a<=6;a++){
    12             for(var b=0;b<=20;b++){
    13                 for(var c=0;c<=50;c++){
    14                     if(a*15+b*5+c*2==100){
    15                         document.write('小明买了洗发水'+a+'个,香皂'+c+'个,牙刷'+b+'个<br />');
    16                         e++;
    17                     }
    18                 }
    19             }
    20         }
    21         document.write('共有'+e+'种方法');
    22     </script>
    23 </body>
    24 </html>

    13.五个小朋友排成一队。问第一个多大了,第一个说比第二个大两岁,问第二个,第二个说比第三个大两岁,以此类推。问第五个小朋友几岁了,第五个小朋友说3岁了。问第一个小朋友几岁?

     1 <!DOCTYPE html>
     2 <html lang="en">
     3 <head>
     4     <meta charset="UTF-8">
     5     <title>Document</title>
     6 </head>
     7 <body>
     8     <script>
     9         var b=3;//已经知道最后一个孩子3岁了,通过上边的案例还不知道第一个孩子多大吗?
    10         for(var a=1;a<=4;a++){
    11             b=b+2;
    12         }
    13         document.write('第一个小朋友'+b+'');
    14     </script>
    15 </body>
    16 </html>

    14.百以内求和

     1 <!DOCTYPE html>
     2 <html lang="en">
     3 <head>
     4     <meta charset="UTF-8">
     5     <title>Document</title>
     6 </head>
     7 <body>
     8     <script>
     9         var b=0;
    10         for(var a=1;a<=100;a++){//循环百次,循环出来的是1~100这不是和就求出来么。要是还不懂,上边不是讲了100以内的奇数偶数求和吗?两个加起来不也是100以内求和吗?
    11             b=b+a;
    12         }
    13         document.write(b);
    14     </script>
    15 </body>
    16 </html>

      大家看了这么多是不是发现了好多题型都是一样的呢?所以说我们不要小看每一道题,每一道都理解了。只要这种类型的会了一道题是不是这种类型的所有的都会了呢?

  • 相关阅读:
    Web APIs
    变量替换
    用shell脚本实现文件、代码同步上线
    20.31 expect脚本同步文件 20.32 expect脚本指定host和要同步的文件 20.33 构建文件分发系统 20.34 批量远程执行命令
    20.27 分发系统介绍 20.28 expect脚本远程登录 20.29 expect脚本远程执行命令 20.30 expect脚本传递参数
    20.23/20.24/20.25 告警系统邮件引擎 20.26 运行告警系统
    20.16/20.17 shell中的函数 20.18 shell中的数组 20.19 告警系统需求分析
    20.5 shell脚本中的逻辑判断 20.6 文件目录属性判断 20.7 if特殊用法 20.8/20.9 case判断
    16进制数据拆分
    16进制数据拼接成一个
  • 原文地址:https://www.cnblogs.com/CcPz/p/8253574.html
Copyright © 2011-2022 走看看