由于博文字数限制,只好分两篇。
8、印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。
代码:
for(var a=1;a<=9;a++){
for(var b=0;b<=9;b++){
for(var c=0;c<=9;c++){
var num=parseInt(""+a+b+c);
if(num==a*a*a+b*b*b+c*c*c){
console.log(num);
}
}
}
}
9、输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
代码:主要用了正则,中文字符的正则不知道该怎么写
var input=" afj中大.h f,h 708 js fj ";
var space=0;
var charEn=0;
var charCn=0;
var num=0;
regspace=/\s/g;
while(regspace.exec(input)!=null){
space++;
}
console.log("共有空格:"+space);
regcharEn=/[a-zA-Z]/g;
while(regcharEn.exec(input)!=null){
charEn++;
}
console.log("共有英文字符:"+charEn);
for(var i=0;i<input.length;i++){
if(input[i]>="\u4e00"&&input[i]<="\u9fa5"){
charCn++;
}
}
console.log("共有汉字:"+charCn);
regnum=/[0-9]/g;
while(regnum.exec(input)!=null){
num++;
}
console.log("共有数字:"+num);
console.log("其他字符:"+(input.length-space-num-charEn-charCn));
10、斐波那契数列指的是这样一个数列:1、1、2、3、5、8、13、21、34、……。输出第x个斐波那契数。
代码:参考严老师的案例,函数自己调用自己
function getFnum(x){
if(x==1||x==2){
return 1;
}else{
return getFnum(x-1)+getFnum(x-2);
}
}
11、百钱买百鸡,大鸡3元一个,中鸡2元一个,小鸡一元3个,用百钱买百鸡。
代码:
for(var x=1;x<=33;x++){
for(var y=1;y<=50;y++){
for(var z=3;z<=300;z+=3){
if((x+y+z==100)&&(x*3+y*2+z/3==100)){
console.log("大鸡:"+x+",中鸡:"+y+",小鸡:"+z);
console.log("大鸡花费:"+3*x+",中鸡花费:"+2*y+",小鸡花费:"+z/3);
}
}
}
}
测试结果:
大鸡:5,中鸡:32,小鸡:63 VM406:7 大鸡花费:15,中鸡花费:64,小鸡花费:21 VM406:6 大鸡:10,中鸡:24,小鸡:66 VM406:7 大鸡花费:30,中鸡花费:48,小鸡花费:22 VM406:6 大鸡:15,中鸡:16,小鸡:69 VM406:7 大鸡花费:45,中鸡花费:32,小鸡花费:23 VM406:6 大鸡:20,中鸡:8,小鸡:72 VM406:7 大鸡花费:60,中鸡花费:16,小鸡花费:24 |