Soma da sequencia de Fibonacci

5 respostas
java
M

Preciso de um algoritmo que a saída seja a soma de um valor lido por exemplo:
entrada 6
saida 20
import java.util.Scanner;

public class main{

public static void main(String[] args){

Scanner leia = new Scanner(<a href="http://System.in">System.in</a>);

int num, cont, soma;

num = leia.nextInt();

soma = 0;

for(cont = 1; cont <= num; cont++){

soma += fibonacci(cont);

System.out.println(soma);

}

}

public static int fibonacci(int num){

int x;

x = 0;

if(num <= 1){

x = num;

}else{

x = fibonacci(num - 1) + fibonacci(num - 2);

}

return x;

}

}

// esse codigo q eu fiz está imprimindo os numeros q estao sendo somados, mas eu so quero o resultado da soma. Alguém pode me ajudar?

5 Respostas

LuanFroehlich

Coloca esse cara fora do for, ele vai imprimir o total da soma.

M

não deu certo, o cont que vc disse né.

LuanFroehlich

A soma já esta sendo feita e armazenada na variável soma. Atualmente ele está imprimindo a soma a cada valor adicionado na variável.

for(cont = 1; cont <= num; cont++){
    soma += fibonacci(cont);
    System.out.println(soma);
}

Você disse que quer somente a soma. O valor final com o total somado. Então faz isso.

for(cont = 1; cont <= num; cont++){
   soma += fibonacci(cont);
}
System.out.println(soma);
LuanFroehlich

Não, eu disse pra colocar o System.out.println(soma); fora do for. Não falei de cont nenhum ali.

M

desculpa, viajei, deu certo!
obrigado!

Criado 21 de agosto de 2018
Ultima resposta 22 de ago. de 2018
Respostas 5
Participantes 2