Day13

Day13



 1-求 1000 以内所有质数的和

2-打印出 1-10000 之间所有对称数(121 1221)

3-使用函数求斐波那契数列第 N 项的值

 

 

 

 1-求 1000 以内所有质数的和

 

质数:又称素数。一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数。2是最小的质数也是唯一的一个既是偶数又是质数的数,也就是说除了2以外,质数都是奇数。

 

 <script>
        var temp = 0;
        for (var i = 2; i <= 1000; i++) { //4
            //假设所有的数都是质数
            var flag = true;
            //通过嵌套循环找到 i 除了1 和本身以外所有可能出现的因子
            for (var j = 2; j <= i / 2; j++) {
                //判断 i 是否为质数
                if (i % j == 0) { //能进到当前的分支 说明不是质数
                    flag = false;
                    break;
                }
            }

            if (flag == true) { //if (flag) {
                // console.log(i);
                temp += i;
            }
        }
        console.log(temp)
    </script>
<script> var f = false; var i = 2; var j = 2; var n = 0; while (i < 1000) { f = true; while (j <= i / 2) { if (i % j == 0) { f = false; break; } j++; } if (f) { n += i } j = 2; i++; } document.write(n); </script>

 

 

 

结果:76127

 

 

 

2-打印出 1-10000 之间所有对称数(121 1221)

<script>
        //方法一
         function isSymmetryNum(start, end) {
             var flag;
             for (var i = start; i < end + 1; i++) {
                 flag = true;
                 var iStr = i.toString();
                 for (var j = 0, len = iStr.length; j < len / 2; j++) {
                     if (iStr.charAt(j) !== iStr.charAt(len - 1 - j) || i < 10) {
                         flag = false;
                         break;
                     }
                 }
                 if (flag == true) {
                     console.log(i);
                 }

             }
         }
        //方法二
        /* function isSymmetryNum(start, end) {
            for (var i = start; i < end + 1; i++) {
                var iInversionNumber = +(i.toString().split("").reverse().join(""));

                if (iInversionNumber === i && i > 10) {
                    console.log(i);
                }

            }
        } */
        isSymmetryNum(1, 10000);
    </script>

 

 

3-使用函数求斐波那契数列第 N 项的值

 

 

<script>
        // 1.求斐波那契第n项的值  用递归的方法

        function myFibonacci(n) {
            if (n <= 0) {
                console.log('请输入正整数');
                return;
            }
            if (n === 1) {
                return 0;
            }
            if (n === 2) {
                return 1;
            }
            if (n === 3) {
                return 1;
            }
            if (n > 3) {
                return myFibonacci(n - 1) + myFibonacci(n - 2);
            }
        }
        console.log(myFibonacci(9))
    </script>

 

posted @ 2021-02-18 10:51  =小王=  阅读(38)  评论(0编辑  收藏  举报