关于函数的训练题---function()

这篇博客探讨了编程中的几个核心概念,包括如何判断质数、获取特定月份的天数、检查回文数、计算数字的位数、识别水仙花数和阿姆斯特朗数。此外,还涵盖了阶乘的求和以及级数求和的方法。通过这些实例,展示了编程与数学的紧密联系。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

封装一个函数, 功能是判断一个数是不是质数. [质数:大于1的自然数中,只能被1和本身整除的数]

   <script>
          // 功能是判断一个数是不是质数.  [**质数:大于1的自然数中,只能被1和本身整除的数**]
            for(var i=101;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);
                    document.write('<br>')
                }
               
            }
      </script> 

封装一个函数, 功能是获取指定月的天数

1 3 5 7 8 10 12月的天数是 31天

4 6 9 11月份的天数是30天

2月份是需要判断闰年平年的 闰年是29天 平年是28天

function day1(year,day){
            switch(day){
                case 1:
                case 3:
                case 5:
                case 7:
                case 8:
                case 10:
                case 12:
                    document.write("31天");
                case 4:
                case 6:
                case 9:
                case 11:
                document.write("30天");
                case 2:
                    if(year%4==0&&year%100!=0){
                        document.write("29天");
                    }else{
                        document.write("28天");
                    }
            }
        }
        day1(2004,2);

封装一个函数, 判断一个数是不是回文 [回文数:各位数字反向排列所得的数与原数相等]

例如:  1221			123321   是回文
-------------------------------这个不太明白
<script>
        function huiwen(num){
            var count=1;
            var num1=num;
            while(parseInt(num1/10)>0){
                count++;
                num1=parseInt(num1/10);
            }


            num=String(num);
            newString='';
            for(i=count-1;i>=0;i--){
                newString+=num[i];
            }
            if(newString==num)  return '回文';
            else return '不是'
            
        }

        alert(huiwen(12321))
    </script>

封装一个函数输入任意一个正整数,求他是几位数?

function zs(num){
            var ws=0;
            if(num==0){
                document.write("这是一位数");
            }
            while(num!=0){
                num=parseInt(num/10);
                ws++;
            }
            document.write(ws);
        }
        zs(222);

打印出所有的水仙花数,所谓水仙花数是指一个三位数,其各位数字⽴方和等于该数本身。例如:153是⼀个⽔仙花数,因为 1³ + 5³ + 3³ 等于 153。封装一个函数判断一个数字是否是水仙花 先判断这个数字是否是三位数

<script>
        function sx(num){
            var bai;
            var shi;
            var ge;
            for(i=100;i<1000;i++){
                bai=parseInt(num/100);
                shi=parseInt(num%100/10);
                ge=num%10;
                if(bai**3+shi**3+ge**3==num){
                    document.write("是水仙花数");
                    return num;
                }else{
                    document.write("不是水仙花数");
                    return num;
                    
                }
            }
        }
        sx(153);
    </script>

如果一个n位正整数等于其各位数字的n次方之和,则称该数为阿姆斯特朗数。封装函数找出1000以内所有的阿姆斯特朗数

例如:1 \** 1 = 12 \** 1 = 2`1 3 + 5 ** 3 + 3 ** 3 = 153`**等。

<script>

        function amstl(a){
            for(a=1;a<1000;a++){
                if((parseInt(a/100)>0)&&(parseInt(a/100)<10)){
                    var x = parseInt(a%10)
                    var y = parseInt((a/10)%10)
                    var z = parseInt(a/100)
                    if((x**3)+(y**3)+(z**3)==a){
                        document.write(a)
                    }
                }
                else if((parseInt(a/10)>0)&&(parseInt(a/10)<10)){
                    var x = parseInt(a%10)
                    var y = parseInt(a/10)
                    if((x**2)+(y**2)==a){
                        document.write(a)
                    }
                }
                else{
                    if(a**1==a){
                        document.write(a)
                    }
                }
            }
        }
        var a
        amstl(a)
    </script>

求 1 ~ 10 的阶乘的和

  • 1! + 2! + 3! + ... + 10!

  • 1的阶乘 1

  • 2的阶乘 1*2

  • 3的阶乘 1*3

  •  <script>
          function cheng(num) {
            var sum = 1;
            for (var i = 1; i < num + 1; i++) {
              sum = sum * i;
            }
            return sum;
          }
          var sum1 = 0;
          for (var j = 1; j < 11; j++) {
            sum1 += cheng(j);
          }
          alert(sum1);
        </script>

    .求出1-1/2+1/3-1/4…..1/100的和

  •   <script>
            var jishu=0,oushu=0;
            for(var i=1;i<101;i+=2){
                jishu+=(i**(-1));
            }
            for(var j=2;j<101;j+=2){
                oushu+=(j**(-1));
            }
            console.log(jishu);
            console.log(oushu);
            alert(jishu-oushu);
        </script>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值