quarta-feira, 28 de setembro de 2016

Fatorial e Fibonacci com Recursividade em Java

Para treinar recursividade em Java, fiz dois programinhas. O primeiro calcula o fatorial de um número digitado pelo usuário e o segundo imprime a sequência de Fibonacci do tamanho solicitado também pelo usuário. Seguem os códigos logo abaixo.

//Desenvolva um algoritmo que calcule o fatorial de um número n.
import java.util.Scanner;

public class FatorialRecursivo {
   
    //Método que calcula fatorial de forma recursiva
    static int Fatorial(int numero) {
        if(numero > 1)
            return (numero * Fatorial(numero - 1));
        else
            return numero;
    }

    //Testando o método Fatorial()
    public static void main(String[] args) {
        Scanner leitor = new Scanner(System.in);
        System.out.print("Digite um número inteiro cujo fatorial deseje calcular: ");
        int numero = leitor.nextInt();
        System.out.println(numero+"! = "+Fatorial(numero));
        leitor.close();
    }
}



/***************************************************
 * Desenvolva um algoritmo que calcule o n-ésimo termo de uma série de fibonacci.
 * Série de fibonacci: 1, 1, 2, 3, 5, 8, 13, 21, 34 . . .
 * OBS.: O n-ésimo termo é obtido a partir dos dois anteriores.
***************************************************/


import java.util.Scanner;

public class FibonacciRecursivo {
   
    //Método que imprime sequência de Fibonacci recursivamente   
    static int Fibonacci(int quantidade, int i, int j) {
        if(quantidade > 0) {
            System.out.print(j+" ");
            return Fibonacci(quantidade - 1, j, i+j);
        } else {
            return 1;
        }
    }

    public static void main(String[] args) {
        Scanner leitor = new Scanner(System.in);
        System.out.print("Quantidade de número na sequência de Fibonacci: ");
        Fibonacci(leitor.nextInt(), 0, 1);
        leitor.close();
    }
}

Nenhum comentário:

Postar um comentário