// 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