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>