题目1:反转字符串,将字符串str = 'i love china' 反转为china love i
var str = 'i love china';
var arr = str.split(' ');//首先,将字符串str使用split(' ')方法进行分割,该方法会将字符串按照空格进行拆分,并返回一个由拆分后的子字符串组成的数组
var rs = '';
for(
var i = arr.length-1;i>=0;i--)//接下来,可以使用for循环遍历数组,并将数组中的元素按照反向顺序拼接成一个新的字符串。
{
rs += arr[i]+' ';
}//在循环中,设置初始值i为数组的长度减1,每次循环时将i递减1,直到i大于等于0为止。在每次循环中,将arr[i]添加到rs中,并在末尾添加一个空格。
console.log(rs);//打印结果
结果:
china love i
题目2:求1-1000完美数,一个数本身等于它的因子之和 6 = 1 + 2 + 3
var knum = [];//先定义一个空数组,用来存储完美数
for(var num = 1;num <= 1000; num++){//要找出1-1000之间的完美数,先使用for循环,从1迭代到1000,检查是否有完美数
var sum = 0;
for(var i = 1;i <= num / 2;i++){//用num除以i(num/2),如果能除尽,所得数就是num的因子,将其累加到sunm中
if(num % i ===0){
sum += i;
}
}
if(sum === num){//如果累加的sum最后等于除数num本身,那么此num就是完美数
knum.push(num);
}
}
console.log("1到1000之间的完美数",knum);//打印结果
结果:
1到1000之间的完美数 [ 6, 28, 496 ]
题目3:组合数 1,2,3,4组合个位、十位、百位各不相同的三位数
var sum = [];
for(var i = 1; i <=4; i++){//百位
for(var j = 1; j <= 4; j++){//十位
for(var k = 1; k <=4; k++)//个位
if(i !== k && i !== j && j !== k){//声明i,j,k都不相等
var num = i*100+j*10+k;
sum += num + ' ';
}
}
}
console.log(sum);
结果:
123 124 132 134 142 143 213 214 231 234 241 243 312 314 321 324 341 342 412 413 421 423 431 432