Olá, pessoal.
Sou novo daqui e to postando aqui o primeiro topico!
Espero q vcs me ajudem a resolverem o problema abaixo:
Escrevi um aplicativo que calcule o fatorial , matematico e e e^x. Mas o resultado do e^x está incorreto.
Saida da mensagem:
Numero:
5
Fatorial do 5 eh 120
e = 2,718282
[color="red"]e^5 = -338488670,833333 [/color]
public class matematico{
public int fat( int x){
int i,aux=1;
for (i=1 ; i<=x ; i++){
aux = aux*i;
}
return aux;
}
public double exp(){
int i;
double aux=1.0;
for (i=1 ; i<=20 ; i++){
aux = (aux + ( 1/( ( (double) fat(i) ) ) ) );
}
return aux;
}
public int pot( int x){
int i;
for (i=1 ; i<=x ; i++){
x = x * x;
}
return x;
}
public double expX(int x){
int i;
double aux=1;
for (i=1 ; i<=20 ; i++){
aux = aux + ( ( (double) pot(x) ) / ( (double) fat(x) ) );
}
return aux;
}
}
public class matematicoTest{
public static void main (String args[]){
java.util.Scanner input = new java.util.Scanner( System.in );
matematico mat = new matematico();
int nr;
System.out.println ("Numero: ");
nr = input.nextInt();
System.out.printf ("Fatorial do %d eh %d \n",nr,(int) mat.fat(nr));
System.out.printf ("e = %f \n",mat.exp() );
System.out.printf ("e^%d = %f \n",nr,mat.expX(nr) );
}
}
