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>

浙公网安备 33010602011771号