函数练习

任务(相关练习)

1.编写一个函数,生成4位数字的验证码  
方法一:
function code(){
   str = "";
   for(i = 1 ; i <= 4 ; i++){
       str += parseInt(Math.random() * 10);
  }
   return str;
}
console.log(code());

方法二:
function code(){
   return String(randomNum(0,9)) + String(randomNum(0,9)) + String(randomNum(0,9)) + String(randomNum(0,9));
}
   console.log(code());

方法三:
function code1(){
   return randomNum(1000,9999);
}
console.log(code1());

2.编写函数digit(num, k),函数功能是:求整数num从右边开始的第k位数字的值,如果num位数不足k位则返回0。
方法一:
function digit(num,k){
   for(i = 1 ; i < k ; i++){
  num /= 10;
  }
   if(parseInt(num % 10) == 0){
  return 0;
  }else{
  return parseInt(num % 10);
  }
}
console.log(digit(123456,5));

方法二:
function digit(num,k){
   for(var i = 1 ; i <= k ; i++){
       var s = num % 10;
       var num = parseInt(num / 10);
  }
   return s;
}
console.log(digit(2,4));

3.编写函数计算一个数字的长度   //fn(num) 返回的是数字的长度。
function fn(num){
   var count = 0;
   while(true){
       num = num / 10;
       count++;
       if(parseInt(num) == 0){
      break;
  }
  }
   return count;
}
console.log(fn(234));

4.编写一个函数,计算任意两个数字之间所能组成的奇数个数。比如:计算0~3之间能组成的奇数是: 01/03/11/13/21/23/31/33

//拼成的数字字符串
function createOdd(n,m){
   for(var i = n ; i <= m ; i++){
       for(var k = n ; k <= m ; k++){
           if(k % 2 != 0){
          console.log("" + i + k);    //01 03 11 13 21 23 31 33
          }
      }
  }
}
createOdd(0,3);

//奇数的个数
方法一:
function createOdd(n,m){
   var count = 0;
   for(var i = n ; i <= m ; i++){
       for(var k = n ; k <= m ; k++){
           if(k % 2 != 0){
           var str ="" + i + k;
           count++;
      }
      }
  }
   return count;
}
console.log(createOdd(0,3));

方法二:
function fn(a,b){
   var count = 0;
   for(var i = a ; i <= b; i++){
       if(i % 2 != 0){
      count += (b - a + 1);
      }
  }
   return count;
}
console.log(fn(0,3));
5.某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,
加密规则如下:每位数字都加上5,然后用除以10的余数代替该数字,再将第一位和第四位交换,
第二位和第三位交换,请编写一个函数,传入原文,输出密文    

//方法一:
function fn(num){
   var ge = num % 10,
   shi = parseInt(num / 10) % 10,
   bai = parseInt(num / 100) % 10,
   qian = parseInt(num / 1000);

   ge = (ge + 5) % 10;
   shi = (shi + 5) % 10;
   bai = (bai + 5) % 10;
   qian = (qian + 5) % 10;
   return "" + ge + shi + bai + qian;
}
console.log(fn(1234));



//方法二:
//   var a = 0,b = 0,sum=0;
//   function fn(num){
//       var ge = num % 10,
//         shi = parseInt(num / 10) % 10,
//         bai = parseInt(num / 100) % 10,
//         qian = parseInt(num / 1000);
//         console.log(ge,shi,bai,qian);
//         ge = (ge + 5) % 10;
//         shi = (shi + 5) % 10;
//         bai = (bai + 5) % 10;
//         qian = (qian + 5) % 10;
//         a = qian;
//         qian = ge;
//         ge = a;

//         b = shi;
//         shi = bai;
//         bai = b;
//         sum = qian * 1000 + bai * 100 + shi * 10 +ge;
//         return sum;
//   }
//   console.log(fn(1234));
posted @ 2019-08-31 08:57  流泪的小可爱  阅读(304)  评论(0编辑  收藏  举报