经典笔试题
1 /* 2 有人想知道,一年内一对兔子能繁殖多少对?于是就筑了一道围墙,把一对兔子关在里面。已知一对兔子每个月可以生一对小兔子,而一对兔子从出生后第3个月起每个月生一对小兔子。假如一年内没有发生死亡现象,那么,一对兔子一年内(12个月)能繁殖成多少对? 3 兔子的规律为数列,1,1,2,3,5,8,13,21 后一项是前2项之和 4 sum = n1+n2; 5 n1 = n2; 6 n2 = n1 + n2; 7 */ 8 9 function getRabbitNum(month){ 10 var n1 = 1; //第1个月的兔子对数 11 var n2 = 1; //第2个月的兔子对数 12 var sum = 0; //第n个月的兔子对数 13 for(var i = 3; i <= month; i++){ 14 sum = n1 + n2; //第一次循环时第3个月的兔子对数等于其前两月的兔子对数之和 15 n1 = n2; //将第2个月的对数赋值给第1个月以备下次循环时计算第4个月的兔子对数 16 n2 = sum; //将第3个月的对数赋值给第2个月以备下次循环时计算第4个月的兔子对数 17 } 18 return sum; 19 } 20 document.write("<br/>12个月后的兔子对数是 "+getRabbitNum(12));
1 /* 2 已知字符串"a,b,c,cd,b,c,a,d"编程实现以下功能. 3 统计每个字符出现的次数结果显示 a 2、b 1、c 2、d 1去掉重复的字符, 4 使结果显示 abcd 5 */ 6 7 var str = "a,b,c,c,d,b,c,a,d"; 8 var arr = str.split(","); 9 console.log(arr[3].length); 10 console.log(arr[6].length); 11 var flag = (arr[3]==arr[6]); 12 13 console.log(flag); 14 var str2 = "";//字数 15 //console.log(arr); 16 for (var i = 0; i < arr.length; i++) { 17 var q = 1;//计数器 18 //使数组中的每一项与其后面所有的数据做比较找出重复数据 19 for (var j = i + 1; j < arr.length; j++) { 20 if (arr[i] == arr[j]) { 21 q++; 22 arr.splice(j, 1);//删除后面重复的元素 23 j--;//下标回退 24 } 25 } 26 if (i == arr.length - 1) { 27 str2 += arr[i]+" "+q; 28 console.log(arr[i]); 29 } else { 30 str2 += arr[i] + " " + q + "、"; 31 } 32 //console.log(arr[i]+" "+q); 33 } 34 35 console.log(str2); 36 console.log(arr.join(""));