[fcc解法-day2]今天做的两道题

本文分享了在FCC平台上解决的两道编程题目的个人解答过程。第一题是求和小于等于给定数值的所有奇数斐波那契数,第二题是求和小于等于给定数值的所有质数。解答中包含了使用数组而非递归实现斐波那契数列的方法,以及判断质数并进行求和的技巧。

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

依旧是fcc上的题目,今天第一道题:

Sum All Odd Fibonacci Numbers 


给一个正整数num,返回小于或等于num的斐波纳契奇数之和。

斐波纳契数列中的前几个数字是 1、1、2、3、5 和 8,随后的每一个数字都是前两个数字之和。

例如,sumFibs(4)应该返回 5,因为斐波纳契数列中所有小于4的奇数是 1、1、3。

提示:此题不能用递归来实现斐波纳契数列。因为当num较大时,内存会溢出,推荐用数组来实现。

参考文档:博客园Issue

如果你被卡住了,记得开大招 Read-Search-Ask。尝试与他人结伴编程、编写你自己的代码。

这是一些对你有帮助的资源:

个人解答:

function sumFibs(n) {
  var cache = [1,1];
  var sum = cache[0] + cache[1];
  for(var i = 2; cache[i-1] + cache[i-2] <= n; i++) {
    cache[i] = cache[i-1] + cache[i-2];
    if(cache[i] % 2) {
      sum += cache[i];
    }
  }
  return sum;
}

sumFibs(75025);

第二道题:

Sum All Primes 


求小于等于给定数值的质数之和。

只有 1 和它本身两个约数的数叫质数。例如,2 是质数,因为它只能被 1 和 2 整除。1 不是质数,因为它只能被自身整除。

给定的数不一定是质数。

如果你被卡住了,记得开大招 Read-Search-Ask。尝试与他人结伴编程、编写你自己的代码。

这是一些对你有帮助的资源:

个人解答:

function sumPrimes(num) {
  var sum = 0;
  for(var i = 2; i <= num;i++) {
      if(isPrime(i)) {
        sum += i;
      }
  }
  return sum;
}

function isPrime(num) {
  tar = Math.sqrt(num);
  for(var i = 2; i <= tar; i++) {
    if(num % i === 0) {
      return false;
    }
  }
  return true;
}

sumPrimes(4);

今天做的两道题都比较简单~
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值