/*retourner la somme de tous les nombres de
Fibonacci impairs jusqu'à "num" et y compris
le nombre "num" passé si elle est un nombre
de Fibonacci. les premiers nombres de la
suite de Fibonacci sont 1, 1, 2, 3, 5 et 8,
et chaque nombre suivant est la somme
des deux nombres précédents.à titre
d'exemple, en passant de 4 à la fonction
devrait revenir 5 parce que tous les nombres
de Fibonacci impairs de moins de 4 1, 1 et 3
sumFibs(1) should return a number.
sumFibs(1000) should return 1785.
sumFibs(4000000) should return 4613732.
sumFibs(4) should return 5.
sumFibs(75024) should return 60696.
sumFibs(75025) should return 135721.
*/
var total = 0, fibonassis = [];
function sumFibs (num) {
for (i = 0; i <= num; i ++) {
if (i === 0) {
fibonassis.push(1);
total += 1;
}
else if (i === 1) {
fibonassis.push(1);
total += 1
}
else {
fibonassis.push
(fibonassis[fibonassis.length - 1] +
fibonassis[fibonassis.length - 2]);
if (fibonassis[fibonassis.length - 1] %2 !== 0 &&
fibonassis[fibonassis.length - 1] <= num) {
total+= fibonassis[fibonassis.length - 1];}
}
if (fibonassis[fibonassis.length - 1] > num){break;}//3
}//2c
return total;
}//1c
sumFibs (75025);
une seule boucle; un total et une liste.
Cette solution est assez elegante
Cette solution est assez elegante
Be the first to comment
You can use [html][/html], [css][/css], [php][/php] and more to embed the code. Urls are automatically hyperlinked. Line breaks and paragraphs are automatically generated.