javascript 编程题

1、编写函数寻找水仙花数(三位数各位数字的立方和恰巧是该数本身)(三位数各位数字的立方和恰巧是改位数本身

for (var i = 100; i < 1000; i++){
    var a = i % 10;
    var b = parseInt(i / 10 % 10);
    var c = parseInt(i / 100);
if (a*a*a+b*b*b+c*c*c===i)
    console.log(i);
}
for (var i =1; i < 10;i++){
    for (var j = 0; j < 10; j++){
        for (var k = 0; k < 10; k++){
            if (a*a*a+b*b*b+c*c*c===i*100+j*10+k){
                console.log(i*100+j*10+k)
            }
        }
    }
}

2、打印9x9乘法表。(正三角和倒三角两种,该题算两道题)

document.write("<table border='1' cellpadding='0' cellspacing='0' style='border-collapse: collapse'>");
    for (var i = 1; i < 10; i++) {
        document.write("<tr>");
        for (var j = 1; j <= i; j++) {
            document.write("<td>"+j+"*"+i+"="+i*j+"</td >");
        }
        document.write("</tr>");
    }
    document.write("</table>");

4、如何利用JS生成一个table?行和列由用户自己输入决定

var a =prompt("输入几行");
    var b =prompt("输入几列");

    document.write("<table border='1' cellspacing='0'>");
    for(var k = 0;k < a;k++){
        document.write("<tr>");
        for(var i = 0;i < b;i++){
            document.write("<td>11</td>");
        }
        document.write("</tr>");
    }
    document.write("</table>")

5、求s=a+aa+aaa+aaaa+aa…a的值,其中a是一个数字。例如2+22+222+222+2222+22222

var a=Number(window.prompt(""));
    var b=Number(window.prompt(""));
    var sum=0,c=0;
    for(var i=1;i<=b;i++){
        c=c*10+a;
        sum+=c;
    }
    document.write(sum);

6、有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13…求出这个数列的前20项之和

var fn = function(a){
        if(a ===1 || a === 2){
            return (a + 1) / a;
        }else if(a > 2){
            return (a - 1 + fn(a - 1) * (a - 1))/ (fn(a - 1) * (a - 1));
        }
    };
    var sum = 0;for(var i = 1; i < 21; i++){    sum += fn(i);}console.log(sum);

7、用户输入任意数字,判断是否是闰年,并打印出接下来的20个闰年。

var year = prompt("请输入一个年份\n");
   year = Number(year);//先把year转化为数字,然后赋值给year(这个时候相当于转型后又覆盖了之前的year的值)
   if (((year % 4 === 0) && (year % 100 !== 0)) || (year % 400 === 0)) {

       document.write(year + "是一个闰年");

   } else {

       document.write(year + "是一个平年");

   }

8、一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?

for (var a = 1; a < 1000; a++){
        for (var b = 1; b < 1000; b++){
            for (var c = 1; c < 1000; c++){
                if (a + 100 === b * b && a + 100 + 168 === c * c){
                    console.log(a,b,c)
                }
            }
        }
    }
    console.log();

9、给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字

ar num = prompt();
    var a = parseInt(num % 10);
    var b = parseInt(num / 10 % 10);
    var c = parseInt(num / 100 % 10);
    var d = parseInt(num / 1000 % 10);
    var e = parseInt(num / 10000);
    console.log(a);
if (num.length === 1){
    console.log(a)
} else if (num.length === 2){
    console.log(a,b)
} else if (num.length === 3){
    console.log(a,b,c)
} else if (num.length === 4){
    console.log(a,b,c,d)
} else if (num.length === 5){
    console.log(a,b,c,d,e)
}

10、企业发放的奖金根据利润提成。利润低于或等于10万元时,奖金可提 10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%; 60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成, 从键盘输入当月利润I,求应发放奖金总数

var i = prompt();
   var a = 0;
        if(i > 0){
            a += (i) * 0.1;
        }if(i > 10000){
            a += (i - 100000) * 0.75;
            i = 100000;
        }if(i > 200000){
            a += (i - 200000) * 0.05;
            i = 200000;
        }if(i > 400000){
            a += (i - 400000) * 0.03;
            i = 400000;
        }if(i > 600000){
            a += (i - 600000) * 0.15;
            i = 600000;
        }if(i > 1000000){
            a += (i - 1000000) * 0.01;
            i = 1000000;
        }
        console.log(a);

11、有一对兔子,从出生后第3个月起每个月都生一对兔子, 小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死, 问 第三十个月的兔子总数为多少?

var a =1,b =1;
   for (var i = 1;i < 30;i++){
       var c = b;
       b = a;
       a += c;
   }
   console.log(a);

12、给这个数组按从小到大顺序排列[3,57,879,345,45,3415,66,890,415,62,25,68,9]

var arr = [3,57,879,345,45,3415,66,890,415,62,25,68,9];
    for (var i = 0; i < arr.length; i++){
        for (var j = 0;j < arr.length;i++){
            if (arr[i] < arr[j]){
                var arr1 = arr[i];
                arr[i] = arr[j];
                arr[j] = arr1;
            }
        }
    }
console.log(arr);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值