Ceci est un problème de Project Euler. Si vous ne voulez pas voir les solutions candidates, ne regardez pas ici.Somme des nombres fibonacci pairs
Bonjour à tous! Je développe une application qui va trouver la somme de tous les termes pairs de la séquence fibonacci. Le dernier terme de cette séquence est 4 000 000. Il y a quelque chose qui ne va pas dans mon code mais je n'arrive pas à trouver le problème car cela a du sens pour moi. Pouvez-vous m'aider s'il vous plaît?
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();
}
}
}
Je parie là est un raccourci pour calculer ce genre de choses. http://en.wikipedia.org/wiki/Fibonacci_number#Closed-form_expression Essayez toujours de simplifier la formule avant d'essayer de la calculer. –
http://projecteuler.net/index.php?section=problems&id=2 – Inisheer
Je ne vois aucune raison de stocker les termes précédemment générés de la séquence. Calculez simplement le terme suivant, vérifiez-le pour la régularité et additionnez-le conditionnellement. –