作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
这是欧拉计划问题。如果您不想看到候选解决方案,请不要看这里。
大家好!我正在开发一个应用程序,它将找到斐波那契数列所有偶数项的总和。该序列的最后一项是 4,000,000 。我的代码有问题,但我找不到问题,因为它对我来说很有意义。你能帮帮我吗?
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
long[] arr = new long [1000000] ;
long i= 2;
arr[i-2]=1;
arr[i-1]=2;
long n= arr[i];
long s=0;
for (i=2 ; n <= 4000000; i++)
{
arr[i] = arr[(i - 1)] + arr[(i - 2)];
}
for (long f = 0; f <= arr.Length - 1; f++)
{
if (arr[f] % 2 == 0)
s += arr[f];
}
Console.Write(s);
Console.Read();
}
}
}
最佳答案
使用这个:http://en.wikipedia.org/wiki/Fibonacci_number#Closed-form_expression
第三身份该恒等式对于 Fj 的形式略有不同,具体取决于 j 是奇数还是偶数。前 n − 1 个斐波那契数之和 Fj,使得 j 为奇数,是第 (2n) 个斐波那契数。
前 n 个斐波那契数 Fj 的和,使得 j 是偶数,是第 (2n + 1) 个斐波那契数减 1。
[16]
唯一的问题是当您将 phi 提高到 (2n + 1) 次方时可能会损失精度。
关于c# - 偶数斐波那契数之和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2574611/
我是一名优秀的程序员,十分优秀!