zoukankan      html  css  js  c++  java
  • 逻辑分析题(三)

    1. 有 1 、 2 、 3 、 4 个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?

    这一题的话,我之前算法有错误,而不自知,所以需要反省下。

     1 var count =0;
     2      for(var i = 1;i< 5;i++){
     3          for(var j =1;j < 5;j++){
     4              for(var k =1;j< 5;j++){
     5                  if(i!=j&&i!=k&&j!=k)
     6                      console.log(''+ i+j+k);
     7                     count++;
     8              }
     9          }
    10          console.log(count);

    优化,可以减少循环的次数:

    2.输入三个整数 x,y,z ,请把这三个数由小到大输出。

     

     1  function sort(x,y,z){
     2         if(x > y){x^=y;y^=x;x^=y;}
     3            //如果x>y,就交换x和y的值;
     4         if(y > z){y^=z;z^=y;y^=z;}
     5            //如果y>z,就交换y和z的值;
     6         if(x > y){x^=y;y^=x;x^=y;}
     7            //如果x>y,就交换x和y的值;
     8         console.log(x,y,z);
     9        }
    10      sort(2,5,4);
    11      sort(13,11,9)

    这里用到了JS中的位操作符,还是比较犀利的。

    3.互换a,b的值

         1、加减法:该方法可以交换整型和浮点型数值的变量,但在处理浮点型的时候有可能出现精度的损失

    a = a + b;

    b = a - b;

    a = a - b;

        2、异或法:可以完成对整型变量的交换,对于浮点型变量它无法完成交换。

    a = a^b;

    b = a^b;

    a = a^b;

        3、乘除法:可以处理整型和浮点型变量,但在处理浮点型变量时也存在精度损失问题。而且乘除法比加减法要多一条约束:b必不为0。

    a = a * b

    b = a / b

    a = a / b

       4.

    var a=3,b=5;
    a = [b,b=a][0];

    4.输入某年某月某日,判断这一天是这一年的第几天?

     1 function getDays(year,month,date){
     2 var days = 0;//保存总天数;
     3 if(month >11)days+=30;
     4 if(month >10)days+=31;
     5 if(month >9)days+=30;
     6 if(month >8)days+=31;
     7 if(month >7)days+=31;
     8 if(month >6)days+=30;
     9 if(month >5)days+=31;
    10 if(month >4)days+=30;
    11 if(month >3)days+=31;
    12 if(month >2){
    13 if(year%4 ==0&&year%100!=0||year%400==0) {//闰年
    14 days+=29;
    15 } else{
    16 days +=28;//平年
    17 }
    18 }
    19 if(month >1)days+=31;
    20 return days + date;
    21 }
    22 console.log(getDays(2000,8,15))




  • 相关阅读:
    springmvc 路由
    springMVC 流程
    SqlServer中Sql语句的逻辑执行顺序
    中小型公司静态资源管理部署方案
    浅谈SQL Server中的三种物理连接操作
    Zclip复制页面内容到剪贴板兼容各浏览器
    C#中如何利用操作符重载和转换操作符
    类型构造器(静态构造函数)的执行时机你知道多少?
    容器云技术选择之kubernetes和swarm对比
    kafka入门
  • 原文地址:https://www.cnblogs.com/xuzhudong/p/6593996.html
Copyright © 2011-2022 走看看