编程题

Posted punisher999

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了编程题相关的知识,希望对你有一定的参考价值。

<script>
    /* 页面弹出输入框,只有当用户输入Alice和Bob这两个名字时,才会向用户问好“你好”。
      var oName= prompt();
      if (oName===‘Alice‘ || oName===‘Bob‘)alert(‘你好‘)*/
    /*
    先后弹出三个输入框,
    第一个提示:输入一个数字,
    第二个提示:输入一个+ - * /中的任意运算符,
    第三个提示:输入一个数字,
    最后弹出他们的运算结果
    */
    /*var num1 = prompt(‘输入一个数字‘);
    var num2 = prompt(‘输入一个+ - * /中的任意运算符‘);
    var num3 = prompt(‘输入一个数字‘);
    Number(num1);
    Number(num3);
    */
    /*
    switch (num2) {
        case ‘+‘:
            alert(num1 * 1 + num3 * 1);
            break;
        case ‘-‘:
            alert(num1 - num3);
            break;
        case ‘*‘:
            alert(num1 * num3);
            break;
        case ‘/‘:
            alert(num1 / num3);
    }
    if (num2===‘+‘){
        alert(num1 * 1 + num3 * 1);
    }else if (num2===‘-‘){
        alert(num1-num3)
    }else if (num2===‘*‘){
        alert(num1*num3)
    }else if (num2===‘/‘){
        alert(num1/num3)
    }
    (num2 === ‘+‘) ? alert(num1 + num3) : (num2 === ‘-‘) ? alert(num1 - num3) : (num2 === ‘*‘) ? alert(num1 * num3) : (num2 === ‘/‘) ? alert(num1 / num3) : ‘‘
    alert (
        (num2 === ‘+‘) ?(num1*1 + num3*1) :
            (num2 === ‘-‘) ?(num1 - num3) :
                (num2 === ‘*‘) ? (num1 * num3) :
                    (num2 === ‘/‘) ? (num1 / num3) : ‘‘
    )
    var date = new Date();
    var week = date.getDay();
    alert(week === 0 ? ‘星期日‘ :
          week === 1 ? ‘星期一‘ :
          week === 2 ? ‘星期二‘ :
          week === 3 ? ‘星期三‘ :
          week === 4 ? ‘星期四‘ :
          week === 5 ? ‘星期五‘ :
          week === 6 ? ‘星期六‘ : ‘‘)*/
    /*屏幕打印1到1000所有能整除11并且不能整除17的数的和
    var sum=0;
    for (var i=1;i<=1000;i++){
        if (i%11===0 && i%17!==0){
            sum += i;
        }
    }
    document.write(sum+‘<br/>‘)*/
    /*x+y=10  3x +4y =36
    for (var x=0; x<=10;x++){
        for (var y=0;y<10;y++){
            if (3*x+4*y ===36 && x + y ===10){
                console.log(x,y)
            }
        }
    }*/
    /*如何利用JS生成一个table?行和列由用户自己输入决定
    var a =prompt(‘输入多少行‘);
    var b =prompt(‘输入多少列‘);
    Number(a,b);
    document.write(‘<table>‘);
    for (var i=0;i<a;i++){
        document.write(‘<tr>‘);
        for (var j=0;j<b;j++){
            document.write(‘<td>行</td>‘)
        }
        document.write(‘</tr>‘);
    }
    document.write(‘</table>‘);*/
    /*求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222
        var a=prompt(‘输入一个数字‘);
        var b=prompt(‘输入一个数字是个几位数‘);
        var sum=0;
        var str=‘‘;
        for (var i=0;i<b;i++){
            str+=a;
            sum+=Number(str);
        }
        document.write(sum)*/
    /*有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和
    //
    // a=2 b=1
    // a/b  2/1                1a/1b
    // a+b/a  3/2              (2-1)a+b /1a
    // a+b+a/a+b  5/3          2a+1b/1a+1b
    // a+b+a+a+b/a+b+a  8/5    3a+2b/2a+1b

    // (n-1)a+(n-2)b/(n-2)a+(n-3)b

    var a = 2,
    b = 1,
    sum = a / b,
    c = 0;
    for (var i = 1; i < 20; i++) {
        c = b;
        b = a;
        a = a + c;
        sum += a / b;
    }
    console.log(sum);*/
    /*一个数如果恰好等于它的因子之和,这个数就称为"完数"。
    例如6=1+2+3.编程 找出1000以内的所有完数。
    for (var i =1; i <1000; i++){
        var sum = 0;
        for (var j=1; j<=i/2; j++) {
            if (i % j === 0) {
                sum +=j;
            }
        }
        if (i===sum){
            console.log(sum)
        }
    }*/
    /*写程序屏幕打印出a,b,c的值(100以内的正整数):809*a=800*b+9*c+1
    for (var a=1;a<100;a++){
        for (var b=1;b<100;b++){
            for (var c=1;c<100;c++){
                if( 809*a===800*b + 9*c +1)console.log(a,b,c);
            }
        }
    }*/
    /*用户输入任意数字,判断是否是闰年,并打印出接下来的20个闰年。
    for (var i=0;i<28;i++){

    }*/
    /*将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5
    * 正整数n先从2开始除,若能整除,则再从2开始整除,至到不能被2整除时除数再加1,
    * 3也不能整除时再加直至加到n的平方根都不能被整除,则该数的质因数分解完毕。
        2、由思路可知,需定义两个变量,一个是正整数设为n,一个是除数设为i,需引用到平方根的概念,所以要引用#include <math.h>
        3、因为i每次都是从2开始,i<=sqrt(n),且不满足条件时才自增,所以i放在for循环中且作为最外层循环

    var num = prompt("请输入数字,将进行分解质因数");
    Number(num);
    document.write(num + ‘=‘);
    for (var n = 2; n <= num; n++) {
        if (num % n === 0) {
            num /= n;
            document.write(num !== 1 ? n + ‘*‘ : n);
            n--;
        }
    }*/
    /*编写函数寻找水仙花数(三位数各位数字的立方和恰巧是该数本身)
    for (var i = 100; i < 1000; i++) {
        var a = 0, b = 0, c = 0;
        a = parseInt(i % 10);
        b = parseInt(i / 10 % 10);
        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 b=0;b<10;b++){
            for (var c=0;c<10;c++){
                if (i*i*i+b*b*b+c*c*c===i*100+b*10+c){
                    console.log(i*100+b*10+c)
                }
            }
        }
    }*/
    /*有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
    /* x=a+b+c&& x!==aaa,bbb,ccc,ddd
    var sum=0;
    for (var a=1;a<=4;a++){
        for (var b=1;b<=4;b++){
            for (var c=1;c<=4;c++){
                if (a!==b && a!==c && b!==c){
                    sum++;
                    console.log(a *100+ b *10+ c,sum)
                }
            }
        }
    }*/
    /*用户输入任意数字,打印所有该数字内的素数。(只能整除1和自己的数)
    var num = prompt(),count=0;
    Number(num);
    for (var i=2 ;i<=num;i++){
        var boo=true;
        for (var j=2;j<i;j++){
            if (i %j === 0){
                boo=false;
            }
        }
        if (boo){
            count++;
            console.log(i )
        }

    }
    console.log(count)
    */
    /* if (n <= 3) { return n > 1; }
     if (n % 2 == 0 || n % 3 == 0) { return false; }

     for (var  i = 5; i * i <= n; i += 6) {
         if (n % i == 0 || n % (i + 2) == 0) { return false; }
     }
     return true;*/
    /*打印9x9乘法表。(正三角和倒三角两种,该题算两道题)
    for (var i=1;i<=9;i++){
        for (var j=1;j<=i;j++){
            document.write(i+‘x‘+j+‘=‘+i*j+‘&nbsp;&nbsp;&nbsp;&nbsp;‘)
        }
        document.write(‘<br/>‘)
    }
    document.write(‘<br/>‘)
    for (var k=9;k>=1;k--){
        for (var x=1;x<=k;x++){
            document.write(x+‘x‘+k+‘=‘+x*k+‘&nbsp;&nbsp;&nbsp;&nbsp;‘)
        }
        document.write(‘<br/>‘)
    }*/
    /*打印正三角


    for (var i=1;i<=7;i++){
        for (var f=0;f<i-1;f++){
            document.write(‘&nbsp;‘)
        }
        for (var j=7;j>=i;j--){
            document.write(1)
        }
        document.write(‘<br>‘)
    }
    for (var i=1;i<=7;i++){
        for (var f=0;f<i-1;f++){
            document.write(‘&nbsp;&nbsp;‘)
        }
        for (var j=7;j>=i;j--){
            document.write(1)
        }
        document.write(‘<br>‘)
    }
    for (var i=1;i<=7;i++){
        for (var j=7;j>=i;j--){
            document.write(1)
        }
    document.write(‘<br>‘)
    }
    for (var i=1;i<=7;i++){
        for (var j=1;j<=i;j++){
            document.write(1)
        }
        document.write(‘<br>‘)
    }
    for (var i=1;i<=7;i++){
        for (var j=7;j>=i;j--){
            document.write(1)
        }
        document.write(‘<br>‘)
    }
    for (var i=0;i<4;i++){
        for (var f=0;f<i;f++){
            document.write(‘&nbsp;‘)
        }
        for (var k=4;k>i+1;k--){
            document.write(‘!‘+‘-‘);
        }
        document.write(‘!<br>‘);
    }
    for (var a=0;a<3;a++){
        for (var q=2;q>a;q--){
            document.write(‘&nbsp;‘)
        }
        for (var j=0;j<=a;j++){
            document.write(‘!‘+‘-‘)
        }
        document.write(‘!<br>‘)
    }
    */
    /*
    for (var j = 0; j < 7; j++) {
        for (var k = 0; k < (j < 4 ? j : 6 - j); k++) {
            document.write(‘&nbsp;‘)
        }
        for (var i = 0; i < (j < 4 ? 3 - j : -3 + j); i++) {
            document.write(‘!‘ + ‘-‘)
        }
        document.write(‘!<br>‘)
    }*/
    /*
    * 猴子吃桃问题:
    *
    猴子第一天摘下若干个桃子,
    * 当即吃了一半,还不过瘾,又多吃了一个。
    * 第二天早上又将剩下的桃子吃掉一半,又多吃了 一个。
    *以后每天早上都吃了前一天剩下的一半零一个。
    *到第10天早上想再吃时,见只剩下一个桃子了。
    * 1  4
    *
    *求第一天共摘了多少。
    *
    var a=1;
    for (var i=0;i<9;i++){
        a=2*(a+1);
    }
    console.log(a)*/
    /*
    一个整数, x  + 100 + 168  +  =y*y    x+100=z*z
    它加上100后是一个完全平方数,
    再加上168又是一个完全平方数,
    请问该数是多少?
    for (var a=0;a<100;a++){
        for (var b=0;b<100;b++){
            for (var c=0;c<100;c++){
                if (a+100===b*b&&b*b+168===c*c){
                    console.log(a,b,c)
                }
            }
        }
    }*/
    /* for (var i=0;i<100;i++){
         for (var a=0;a<1000;a++){

         }
     }
     for (var i=1;i<=7;i++){
         for (var f=1;f<i;f++){
             document.write(‘&nbsp;‘)
         }
         for (var j=7;j>=i;j--){
             document.write(1)
         }
         document.write(‘<br>‘)
     }
     for (var i=1;i<=7;i++){
         for (var j=7;j>=i;j--){
             document.write(1)
         }
         document.write(‘<br>‘)
     }
     for (var j = 0; j < 7; j++) {
         for (var k = 0; k < (j < 4 ? j : 6 - j); k++) {
             document.write(‘&nbsp;‘)
         }
         for (var i = 0; i < (j < 4 ? 3 - j : -3 + j); i++) {
             document.write(‘!‘ + ‘-‘)
         }
         document.write(‘!<br>‘)
     }
     for (var j = 0; j <11; j++) {
         for (var k = 1; k <= (j <6 ? 5- j  :j-5); k++) {
             document.write(‘&nbsp;&nbsp;‘)
         }
         for (var i = 1; i <= (j <6 ? 1+ j  :11-j); i++) {
             document.write(‘*‘,‘   &nbsp;  ‘)
         }
         document.write(‘<br>‘)
     }
     for (var j = 0; j <11; j++) {
         for (var k = 0; k > (j <6 ? j-6  :4-j); k--) {
             document.write(‘&nbsp;&nbsp;‘)
         }
         for (var i =0; i > (j <6 ? -1 -j  :j-11); i--) {
             document.write(‘*‘,‘   &nbsp;  ‘)
         }
         document.write(‘<br>‘)
     }*/
    /* var a =prompt(‘输入多少行‘);
     var b =prompt(‘输入多少列‘);
     Number(a);
     Number(b);
     document.write(‘<table border="1" cellspacing="0" >‘);
     for (var i=1;i<=a;i++){
         document.write(‘<tr>‘);
         for (var f=0;f<=i-2;f++){
             document.write(‘<td></td>‘)
         }
         for (var j=b;j>=i;j--){
             document.write(‘<td>‘+i+‘x‘+j+‘=‘+i*j+‘</td>‘);
         }
         document.write(‘</tr>‘);
     }
     document.write(‘</table>‘);*/
    /*  for (var i=1;i<=7;i++){
          for (var f=0;f<i-1;f++){
              document.write(‘&nbsp;&nbsp;‘)
          }
          for (var j=7;j>=i;j--){
              document.write(1)
          }
          document.write(‘<br>‘)
      }*/
    /*完数
      for (var i=1;i<10000000000;i++){
          var sum=0;
          for (var j=0;j<i;j++){
              if (i%j===0){
                  sum+=j
              }
          }
          if (i===sum){
              console.log(i)
          }
      }*/
    /*
    var num=prompt()*1;
    var str=‘‘;
    document.write(num+‘=‘);
    for (var i=2;i<=num;i++){
        if (num%i===0&&num!==i){
             str+=i+‘*‘;
             num/=i;
             i--;
        }else if(num===i){
            str+=i;
            break;
        }
    }
    document.write(str)
    var s = prompt();
    document.write(s + ‘=‘);
    for (var i = 2; i <= Number(s); i++) {
        if (s % i === 0) {
            s /= i;
            document.write(s !== 1 ? i + ‘x‘ : i);
            i--;
        }
    }*/
    /*闰年
    var num=prompt()*1;
    var b=0;
    ((num/4===Math.floor(num/4)&&i/100!==parseInt(num/100))
        ||(num/400===Math.floor(num/400)&&i/3200!==parseInt(num/3200))
        ||num/172800===Math.floor(num/172800))?
        alert(‘是闰年‘) :
        alert(‘不是闰年‘);

    for (var i=1;i<=84;i++){
        if((i/4===Math.floor(i/4)&&i/100!==parseInt(i/100))
            ||(i/400===Math.floor(i/400)&&i/3200!==parseInt(i/3200))
            ||i/172800===Math.floor(i/172800)){
            b++;
            document.write(num+i+‘<br>‘);
            if (b===20){
                break
            }
        }
    }*/
    /*
    * 小结:
    * 求和:var sum=0; for(){sum+=变量}
    * 字符串拼接:var sum=‘‘; for(){sum+=变量}
    * 开关:var boo=true; if(boo){boo=false}else{boo=true}
    * 计数器:var count=0; for(){count++}
    * 重查:for(i++){i++}
    * */
    /*[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=1;i<=arr.length;i++){
        console.log(arr[i]);

    }*/
    /*一球从100米高度自由落下,每次落地后反跳回原高度的一半;
        再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?

     var count = 100,
        sum=100;
    for (var i =0; i <10; i++) {
        count/=2;
        if (i===9)break;
        sum +=2*count;
    }
    console.log(count,sum) */
    /*一个6位数,判断它是不是回文数。即123321是回文数,
    个位与十万位相同,十位与万位相同,百位与千位相同

    var num = Number(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 % 10);
    var f = parseInt(num / 100000);
    if (a === f && b === e && c === d) {
        alert(‘ok‘)
    } else {
        alert(‘no‘);
    }*/
    /*给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字
    var 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);
    var len=num.length;

    console.log()*/
    /*企业发放的奖金根据利润提成。利润低于或等于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 num = prompt() * 1;
    var a=100000*0.1;
    var b=100000*0.075;
    var c=200000*0.05;
    var d=400000*0.03;
    var e=600000*0.015;
    if (num <= 100000) {
        console.log(num * 0.1)
    } else if (num <= 200000) {
        console.log((num-100000) * 0.075+a)
    } else if (num<=400000) {
        console.log((num - 200000) * 0.05+a+b)
    } else if (num<=600000) {
        console.log((num - 400000) * 0.03+a+b+c)
    } else if (num<=1000000) {
        console.log((num - 600000) * 0.015+a+b+c+d)
    } else if (num>1000000) {
        console.log((num - 1000000) * 0.01+a+b+c+d+e)
    }*/
    /*
    有一对兔子,从出生后第3个月起每个月都生一对兔子,
    小兔子长到第三个月后每个月又生一对兔子,
    假如兔子都不死,问
     第三十个月的兔子总数为多少?

    var a=1;
    var b=1;
    var c=0;
    for (var i=0;i<30;i++){
        c=b;
        b=a;
        a+=c;
    } console.log(a)*/
    /*给这个数组按从小到大顺序排列[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;j++) {
            if (arr[i] < arr[j]){
                var a=arr[i];
                arr[i] = arr[j];
                arr[j] = a;
            }
        }
    }
    console.log(arr)*/

</script>

有些效果可能回没有解释,或者写了一半,反正自己看着实现一下;有什么问题,可以评论在下面

以上是关于编程题的主要内容,如果未能解决你的问题,请参考以下文章

VSCode自定义代码片段9——JS中的面向对象编程

使用 Pygments 检测代码片段的编程语言

面向面试编程代码片段之GC

如何在 Django Summernote 中显示编程片段的代码块?

以编程方式将按钮添加到片段

前端面试题之手写promise