js经典计算题

来源:互联网 发布:ubuntu 重启apache 编辑:程序博客网 时间:2024/04/30 23:54

1.利用递归实现阶乘: 
//阶乘—-递归方法

function jiecheng(n){        if(n>1)        {            return n*jiecheng(n-1);        }else{            return 1;        }    }document.write(jiecheng(1000));
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

2.递归实现斐波那契数列

function fei(n){    if(n>2){        return fei(n-1)+fei(n-2);       }else{        return 1;       }   }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
document.write(fei(20));
  • 1
  • 1

3.实现一个九九乘法表

     for(var i = 1;i<=9;i++){        for(var j = 1;j<=i;j++){            var desc = j + "*" + i + "=" + j*i + " ";            document.write(desc);        }        document.write("");      }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

下面用while实现

    var i = 1;     while(i<=9){        var j = 1;        while(j<=i){            var desc = j + "*" + i + "=" + j*i + " ";            document.write(desc);            j++;        }        document.write("");        i++;     }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

4.求一个数组的最大数和最小数并求出其对应的下标index

var arr = [3,1,2,4,5,8,7,6];    var max = arr[0];   //最大值       var min = arr[0];   //最小值    var maxindex = 0;    var minIndex = 0;    for(var i = 0;i<arr.length;i++){        if(arr[i]>max){            max = arr[i];                   maxindex= i;    }if(arr[i]<min){min = arr[i];            minIndex= i;    }}         document.write(max); document.write(min + " ");document.write(index);//分别输出就可以
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

5.求100-999之间的水仙花数(指一个n位数,它的每个位上的数字的n次幂之和等于它本身)

     for(var i = 100;i<=999;i++){        var bai = parseInt(i/100);  //百    987除以100 =parseInt(9.87) =>9        var shi = parseInt(i/10)%10; //十   987 除以 10 = parseInt(98.7) =>98  98%10 = 8;        var ge = i % 10;    //987 % 10            var result = ge*ge*ge + shi*shi*shi + bai*bai*bai;  //临时的结果        if(i==result){            document.write(i+"");        }     }  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

6.输出100-200之间的所有素数

    for(var i = 100;i<=200;i++){        var flag = true;  //定义 标志        for(var j = 2;j<i;j++){            if(i%j==0){                flag = false;                break;  //跳出当前循环            }        }        if(flag){            document.write(i+"<br/>");        }      }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

7.计算1-100之间所有奇数的和

    var sum = 0;  //存放所有奇数的和     for(var i = 1;i<=100;i++){         if(i%2!=0){ //是否是奇数            sum = sum + i;         }     }     document.write(sum);
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

8.setTimeout代替setInterval

    var n = 0;     function shu(){        document.write(n);        n++;       setTimeout(shu,1000);     }       shu();
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

9.输出闰年

     var y,j=0;     for(y=1000;y<=2000;y++){    if((y%4==0&&y%100!=0)||(y%100==0&&y%400==0)){        j++;        document.write(y+"");    }    if(j%4==0){        document.write("");             }     }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

10.打印出直角三角形的星星

    for(var i=1;i<=5;i++){    for(var j=1;j<=i;j++){        document.write("☆");        }    document.write("");      }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

11.打印正方形的星星

    var i=1;     while(i<=4){       var j=5;       while(j>=1){        document.write("☆");        j--;        }      document.write("");      i++;      }
                                             
2 0