Escreva um programa em c que some os termos de valor par da sequência de Fibonacci, cujos valores não ultrapassem quatro milhões.
Olá preciso de ajuda urgente nesse exercício.
Soluções para a tarefa
Resposta:
#include <stdio.h>
int main(){
//long pq o número é muito grande
long sum = 0;
long previous = 0;
long fibonacci = 1;
long auxiliar;
long lastOdd;
do{
if(fibonacci % 2 == 0) {
sum += fibonacci;
lastOdd = fibonacci;
}
auxiliar = fibonacci;//para guardar número anterior antes de somar
fibonacci += previous;//somar próximo número
previous = auxiliar;//armazenar número anterior na variável
}while(fibonacci <= 4000000 && sum <= 4000000);
if(sum >= 4000000){
//se saiu do loop por causa da soma então passou de 4 000 000
sum = sum - lastOdd;//assim retirar último valor par
}
printf("%ld\n", sum);
return 0;
}
Explicação:
Não sei se entendi errado, mas se o valor de fibonacci ou o valor da soma ultrapassar não deve ser contabilizado. : )