zoukankan      html  css  js  c++  java
  • 逻辑分析题汇总(一)

    1.有一对兔子,从出生后第 3 个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
     程序分析: 兔子的规律为数列: 1 1,2,3,5,8,13,21,34,表示了一种动植物数量的正常增长的数量变化

                                      月份: 1  2 3 4 5 6  7  8 9 10

    第一种方法:使用递归——但这种方法递归调用的效率非常低。

    1 function dd(n){
    2         if (n < 3) {return 1;}
    3         if(n >= 3){//这里注意n还有等于3的情况,不然会导致递归中断
    4             return (dd(n-1)+dd(n-2));
    5         }
    6     }
    7    console.log(dd(10));

    第二种方法:使用循环

     1          // f(n-2)+f(n-1) = f(n)
     2          //   1      1       2   n=3
     3          //   1      2       3   n=4
     4          //   2      3       5   n=5
     5          //   3      5       8   n=6
     6 
     7     function dd(n){
     8         var a =1,b=1,c=1;
     9         for(var i =3;i <= n;i++){
    10             a =b;
    11             b =c;
    12             c= a+b;
    13         }
    14         return c;
    15     }
    16    console.log(dd(6));

    这种方式更加巧妙。

    2.将一个正整数分解质因数。例如:输入 90, 打印出 90=2*3*3*5 。

     1  function fenjie(n){
     2          var arr=[];
     3          for(var i =2;i < n/2;i++){
     4              while(n % i == 0){while循环在指定条件为true时,就一直执行;不满足的话,就跳出循环
     5                  arr.push(i);
     6                  n/=i;//此处不断的循环
     7              }
     8          }
     9          return arr.join('*');
    10      }
    11      console.log('90 = ' + fenjie(90));

    3.要求输出国际象棋棋盘。

    在这里使用嵌套循环。

    1   
      //外层循环控制行
    for(var i = 0,str ='';i<8;i++){ 2 //内层循环控制列 3 for(var j = 0;j< 8;j++){ 4 //拼接一个正方形:如果r+c为偶数;就拼接空心方块,否则拼接实心方; 5 str += (i+j)%2 ==0?'□':'■'; 6 } 7 str+=' '; 8 } 9 console.log(str);

    实现效果:

    在这里我们比较了几种情况,需要分析下:

    输出情况:会输出每一次循环的值:

    修改代码后:

    输出:

    修改代码:

    输出:

    修改代码:

    输出:

  • 相关阅读:
    关于面向对象
    关于内存的划分和传引用传参数的区别
    关于目前我们专业的各种发展方向
    关于C语言底层
    关于游戏行业目前的形势
    关于jsp,javascript,php等语言
    鼠标滑动图片变大
    在Linux环境下mysql的root密码忘记解决方法
    百度网盘
    bootsrtap 主题元素
  • 原文地址:https://www.cnblogs.com/xuzhudong/p/6593213.html
Copyright © 2011-2022 走看看