1、不借助临时变量,进行两个整数的交换。(这种问题非常巧妙,需要大家跳出惯有的思维,利用 a , b进行置换)。
function foo(a,b){
a = a - b
b = b + a
a = b - a
console.log(a,b)
}
foo(3,5) //5 3
2、输入a的值,求s=a+aa+aaa+aaaa+aa…a的值,其中a是一个数字。例如:2+22+222+2222+22222(此时共有5个数相加)。
var num = "";
var nums = [];
var sum = 0;
function foo(a,b){
for(var i = 0; i < b; i++){
num += a;
nums.push(parseInt(num));
sum += nums[i];
}
console.log(sum + "=" + nums.join("+"));
}
foo(2,5) //24690=2+22+222+2222+22222
3、自守数是指一个数的平方的尾数等于该数自身的自然数。例如:25^2 = 625,76^2 = 5776,9376^2 = 87909376。请求出10000以内的自守数的个数 。
function foo(n){
var sum=0;
for(var i=0;i<n;i++){
var res=i*i+'';
if(res.endsWith(i)){
sum++;
}
}
console.log(n+'以内自守数的个数为:'+sum);
}
foo(10000); // 10000以内自守数的个数为:9
知识拓展:endsWidth() ----- 字符串方法
endswith() 方法用于判断字符串是否以指定后缀结尾,如果以指定后缀结尾返回True,否则返回False。可选参数"start"与"end"为检索字符串的开始与结束位置。