Buscar

Classe Java com Funçoes Recursivas (Potencia,Somatorio,MDC,Resto da Divisão,multiplicação,parImpar,soma Intervalo(x,y)

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

Funcoes.java
/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package Funcoes;
/**
 *
 * @author joao
 */
public class Funcoes {
 //Retorna a exponenciação de a por b de forma recursiva
 public double expRec(double a, double b) {
 if (b == 0) {
 return 1;
 } else if (b == 1) {
 return a;
 } else {
 return a * expRec(a, b - 1);
 }
 }
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
 //Retorna o Maximo divisor comum de forma recursiva
 public double maxDc(double x, double y) {
 return (y == 0) ? x : maxDc(y, x % y);
 }
//------------------------------------------------------------------------------
//Retorna o resto da divisao de x/y de forma recursiva
 public int restoDiv(int x, int y) {
 if (x == y) {
 return 0;
 }
 return (y > x) ? x : restoDiv((x - y), y);
 }
//------------------------------------------------------------------------------
//Retorna o multiplicação de de x*y de forma recursiva
 public int multiplicacao(int x, int y) {
 return (y == 1) ? x : x + multiplicacao(x, y - 1);
 }
//------------------------------------------------------------------------------
//Retorna o somatoria de de n n Vezes de forma recursiva
 public double somatoriaRec(double n) {
 return (n == 1) ? n * n : somatoriaRec(n - 1) + (n * n);
 }
//------------------------------------------------------------------------------
//Calcula a serie de fibonacci para o indice x de forma recursiva 
 public double fibonacci(double x) {
 return (x == 0 || x == 1) ? 1 : fibonacci(x - 1) + fibonacci(x - 2);
 }
 //------------------------------------------------------------------------------
//Calcula soma de um intervalo x y de forma recursiva 
 public double somaIntervalo(double x, double y) {
 if (y == x) {
 return x;
 }
 return (x < y) ? somaIntervalo(x, y - 1) + y : somaIntervalo(y, y + 1) + y;
 }
//------------------------------------------------------------------------------
//Retorna true para numeros pares e false para impares de forma recursiva 
 public boolean isPar(int num) {
 if (num % 2 == 1) {
 return false;
 } else {
 return (num % 2 == 0 || num == 0) ? true : isPar(num - 1);
 }
 }
}
Recursao.java
/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package recursao;
import Funcoes.Funcoes;
/**
 *
 * @author joao
 */
public class Recursao {
 /**
 * @param args the command line arguments
 */
 public static void main(String[] args) {
 // TODO code application logic here
 int k=2;
 Funcoes funcoes = new Funcoes();
 for(int i=1;i<5;i++){
 k+=i;
 System.out.println("Exponenciacao de ["+i+"] por ["+k+"] =["+funcoes.expRec(i, k)+"]");
 System.out.println("Resto da divisao entre ["+k+"] e ["+i+"] =["+funcoes.restoDiv(k, i)+"]");
 System.out.println("Multiplicacao entre ["+i+"] e ["+k+"] =["+funcoes.multiplicacao(i, k)+"]");
 System.out.println("Maximo Divisor comum entre ["+k+"] e ["+i+"] =["+funcoes.maxDc(k, i)+"]");
 System.out.println("Soma do intervalo ["+i+"] a ["+k+"] =["+funcoes.somaIntervalo(i, k)+"]");
 System.out.println("Soma recursiva ["+k+"]x =["+funcoes.somatoriaRec(k)+"]");
 System.out.println("Fibonacci de ["+k+"] =["+funcoes.fibonacci(k)+"]");
 String parum =(funcoes.isPar(i))?" PAR":" IMPAR";
 System.out.println("O numero ["+i+"] e"+parum);
 parum =(funcoes.isPar(k))?" PAR":" IMPAR";
 System.out.println("O numero ["+k+"] e"+parum);
 System.out.println("------------------------------------------------------------------------");
 }
 }
 
}

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Outros materiais