Web基础-JavaScript

<!-- 1、【回文数】
打印5位数中的所有回文数,每行打印10个数。最后统计一下一共有多少个5位回文数。
注:回文数即正反读都是一个数,5位数的话,只要个位与万位相同,十位与千位相同就是一个回文数。
 var count=0;
        for (var i=10000 ; i<= 99999; i++){
            var ge =parseInt(i % 10) ;
            var shi =parseInt( i / 10 % 10);
            var qian = parseInt(i / 1000 % 10);
            var wan = parseInt(i / 10000);
            if(ge==wan&&shi==qian){
              document.write(i+" ");
              count++;
              if(count%10==0){
                document.write("第"+count/10+"行"+"<br/>")
              }
            }
    }
2、【求完数】
一个数如果恰好等于它的所有真因子(即除了自身外的所有因数)之和,这个数就称为"完数"。
请编程求出1000 以内的所有完数。
for(var i=1;i<1000; i++){
        var x=0;
        for(var j=1;j<i;j++)
        if(i%j==0){
            x+=j;
        }
        if(x==i){
            document.write("完数:"+i+" "+"<br/>");
        }
    }
    
3、【求不重复数字】
有1、2、3、4一共四个数字,能组成多少个不相等且无重复数字的三位数?都是多少?
注:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去掉不满足条件的就可以了。
 var count=0;
    for(var i=1;i<=4 ;i++){
      for(var j=1;j<=4 ;j++){
        for(var k=1;k<=4 ;k++){
            if(i!=j&&i!=k&&j!=k){
                var num=100*i+j*10+k;
                document.write(num+" ")
                count++;
            }
        }
    }
   }
   document.write("一共是:"+count+"<br/>")
   
有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13. 求出这个数列的前20项之和。
var fenzi=2;
        var fenmu=1;
        var sum=0;
       for(var i=1;i<=20;i++){
        sum+= fenzi/fenmu;
        fenzi=fenmu+fenzi;
        fenmu=fenzi-fenmu;   
       }
       document.write(sum+"<br/>");
       
键盘录入一个正整数,请求:1.它是几位数?2.逆序打印出各位数字。
var msg= prompt("请输入一个正整数!!");
       document.write(msg.length+"<br/>");
       msg=parseInt(msg);
       var msg=msg+"";
       var arr=msg.split("");
       document.write(arr.reverse()+"<br/>")
       
求100以内的所有奇数/偶数的和。
var num=0;
    var sum=0;
    for(var i=1;i<=100;i++){
        if(i%2==0){
            num+=i;
        }else {
            sum+=i;
        }
    }
    document.write("偶数和:"+num+"<br/>");
    document.write("奇数和:"+sum+"<br/>");
    
// 假如一个小球从100米高度自由落下,每次落地后就反跳回原高度的一半。
// 那么求它在第10次落地时,共经过多少米?第10次反弹多高?
var s = 0;  
    var h = 100;
        for (var i = 1; i <= 10; i++) {
            s = s + h+h/2; 
            h = h / 2;  
        }
        s-=h;
        document.write(parseFloat(s)+"<br/>");
        document.write(parseFloat(h)+"<br/>");
    
井里有一只蜗牛,他白天往上爬5米,晚上掉3.5 米,井深56.7米,计算蜗牛需要多少天才能从井底到爬出来。
 var num=56.7;
    var heightSum=0;
    var day=0;
    while (true) {
            heightSum += 5;  
            day++;
            if (heightSum > 56.7) {
                break;
            }
            heightSum -= 3.5;
        }
        document.write("需要:"+day+"<br/>")
   
打印出1-100之间所有不是7的倍数和不包含7的数字, 并求和。
var sum=0;
    for(var i=1;i<100;i++){
        if(i%7!=0&& i/10!=7 && i%10!=7){
            document.write(i+"<br/>");
            sum+=i;
        }
    }
    document.write(sum+"<br/>");
    
随机给十个数字,对它们进行排序。(可以给一个有10个整数元素的数组,然后对数组排序)
var arr=[12,89,32,31,54,52,22,21,32,87,64,111];
        document.write(arr.sort(paixu)+"<br/>");
        function paixu(a,b){
        return a-b; 
        }
        
古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一
// 对兔子,假如兔子都不死,问每个月的兔子总数为多少?
var msg=prompt("请输入几个月:");
    var month=parseInt(msg);
    var arr=new Array();
    arr[1]=1;
    arr[2]=1;
    for(var i=3;i<=month;i++){
    arr[i]=arr[i-1]+arr[i-2];
    document.write(arr[i]+" "+"<br/>")
    }
    
// 判断101-200之间有多少个素数,并输出所有素数。
for(var i=101;i<200;i++){
        for(var j=2;j<=i;j++){
            if(i%j==0&&i!=j){
               break;
            }
            if(i==j){
                document.write(j+" "+"<br/>")
            }
        }
    }
    
// 打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身
// 例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。
 for(var i=100;i<1000;i++){
        var ge=parseInt( i%10);
        var shi =parseInt( i/10)%10;
        var bai =parseInt( i/100);
        if(i==(ge*ge*ge+shi*shi*shi+bai*bai*bai)){
            document.write(parseInt(i)+" "+"<br/>");
        }
    }
   
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值