jueves, 8 de enero de 2009

Clase Factorial Java

El mismo ejemplo anterior pero ahora con Java:

/**
*
* @author driverInside
*/

public class Factorial {
// Atributos
private int factorial;
// Métodos
long facIte(int base){ // metodo iterativo
factorial = base;
if (base == 0){
return 1;
}
else{
while(base > 1){
factorial = factorial * (base -1);
base--;
}
}
return factorial;
}// fin del método facIte

long facRec(int base){ // método recursivo
factorial = base;
if(base == 0){
return 1;
}
else{
return base * this.facRec(base -1);
}
} // Fin del método facRec

public static void main(String[] args) {
// se crea un objeto Factorial
Factorial factorial = new Factorial();

for(int i =0; i <=10; i++){
System.out.printf("El factorial de %d es: %d\n",
i, factorial.facRec(i));
}

} // fin de la función main

}// fin de la clase factorial

lunes, 5 de enero de 2009

Clase Factorial C++

En un foro me encontré a un usuario que deseaba sacar el factorial los primeros 10 números (básico ejercicio en programación) pero con clases en C++ o Java, probablemente era alguna tarea. La solución que le propuse fue la siguiente, solo para los primeros 5. Utilicé dos formas para relizar el cálculo: una iterativa y otra recursiva.
Y como siempre les deseo felices líneas :P

#include<iostream>
#include<string>
using namespace std;

class Factorial{
// Atributos
private:
int factorial;
// Métodos
public:
int facIte(int base){ // Forma Iterativa
factorial = base;
if(base == 0){
return 1;
}
else{
while(base >1){
factorial = factorial * (base - 1);
base--;
}
}
return factorial;
} // Fin del método facIte
int facRec(int base){ // forma recursiva
factorial = base;
if(base == 0){
return 1;
}
else{
return base * this->facRec(base -1);
}
}// Fin del método facRec
}; // Fin de la clase Factorial
int main(){

// Se crea un objeto Factorial
Factorial fact01;

for(int i = 0; i <= 5; i ++){
cout<<"El factorial de "<<>
}
cout<<"\n";
for(int i = 0; i <= 5; i ++){
cout<<"El factorial de "<<>
}
} // Fin de la Función main


Y como siempre les deseo felices líneas :P