JavaScript循环结构案例

一、讨厌的数字3

要求:输出不含3的三位数,还不能是3的倍数,例如143的个位是3不可以,141是3的倍数也不可以。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>讨厌数字三</title>
</head>
<script type="text/javascript">
    var a;
    a=100;
    while(a<=999){
        var a100=Math.floor(a/100);
        var a10=Math.floor((a%100)/10);
        var a1=Math.floor(a%10);
                if(a100!=3&&a10!=3&&a1!=3&&a%3!=0){
            console.log(a);
        }a++;
    }
</script>
<body>
</body>
</html>

二、输出1000以内的完数

什么是完数:就是小于它本身的所有的约数之和等于它本身的数
例:第一个完全数是6,它有约数1、2、3、6,除去它本身6外,其余3个数相加,1+2+3=6。
第二个完全数是28,它有约数1、2、4、7、14、28,除去它本身28外,其余5个数相加,1+2+4+7+14=28。
什么是约数:1 X 6 = 2 X 3 = 6,6的约数为1,2,3,6

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>完数</title>
</head>
<script type="text/javascript">
    //i是1000以内的整数,sum是约数和累计,j是约数
    var sum,i,j;
    for (i=1;i<1000;i++){
        sum=0;
        for (j=1;j<i;j++){
            if(i%j==0){
                sum+=j;
            }
        }
        if (i==sum) {
            document.write("   "+i);
        }
    }
</script>
<body>

</body>
</html>

三、判断素数

什么是素数:在大于1的自然数中,除了1和它本身以外不再有其他约数

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>判断素数</title>
</head>
<script type="text/javascript">
    var num,n,a;
    n=2;
    a=0;
    num=parseInt(prompt("请输入一个数"));
    while(n<num){
       if (num%n==0){
           a++;
           break;
       }
       n++;
    }
    if (a==0){
        alert(num+"是素数");
    }else {
        alert(num+"是合数");
    }

</script>
<body>

</body>
</html>

四、计算圆周率

在这里插入图片描述

<!DOCTYPE html>
<html lang="en">
<head>
   <meta charset="UTF-8">
   <title>计算圆周率</title>
</head>
<script type="text/javascript">
   var a,n,num;
   n=1;
   a=1;
  do{
       num=1/(a*2+1);
       if(a%2==0){
           n+=num;
       }else {
           n-=num;
       }
       a++;
   }while (num>1e-6)
   console.log(n*4);
</script>
<body>
</body>
</html>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值