// Lab07.java (c) 2000 adolfo@di-mare.com /** @(#)Lab07.java 2007 Programa las funciones Factorial y de Fibonacci.
        n! == n * (n-1) * (n-2) .... * 2 * 1   // Factorial

        F    = F  + F       F  == 0   F == 1   // Fibonacci
         n      n-1  n-2     0         1
    
@author Adolfo Di Mare */ import java.io.*; // Clases para leer desde el teclado import java.lang.System; // Esta siempre la importa Java /** Clase que contiene el programa principal {@code main()}. */ public class Lab07 { /** Calcula el valor de la serie de Fibonacci para \c "n".
            F    = F  + F       F  == 0   F == 1
             n      n-1  n-2     0         1
        
*/ public static long fibonacci(long n) { if ( n<=2 ) { return ((n<=0) ? 0 : 1); } else { long F1 = fibonacci(n-1); long F2 = fibonacci(n-2); return F1 + F2; // return fibonacci(n-1) + fibonacci(n-2); } } // Fibonacci() /** Calcula n!, el valor del factorial de \c "n".
        n! == n * (n-1) * (n-2) .... * 2 * 1
        
*/ public static long factorial(long n) { if (n <= 1) { return 1; } else { long res = n * factorial(n-1); return res; } } // Factorial() /** Programa principal. */ public static void main( String args[] ) { int VEC[] = { 1,3,5 }; long fact,n; System.out.println(); for ( int i = 0; i Final " + valor ); return valor; } else { int temp = 0; temp = 2 + queImprimo( valor-1 ); System.out.print( " ~~ Temporal " + temp ); return temp; } } /** Si {@code a} sube {@code b} Baja, si {@code b} baja {@code a} sube (de 1 en 1). * El cálculo se hace recursivamente. */ public static void subeBaja( int a, int b ) { System.out.print( "(" + a + "," + b + ")\n" ); if ( a+1==b ) { // pruebe con (a==b) } else if ( a < b ) { subeBaja( a+1,b-1 ); } else if ( a > b ) { subeBaja( a-1,b+1 ); } return; } } // NOTA: Para ejecutar use el comando: // > java Lab07 // [en la pantalla de interacciones del DrJava] // Jeliot: // - http://cs.joensuu.fi/jeliot/javaws/jeliot.jnlp // EOF: Lab07.java