es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

No hay salida debido a valores fraccionales grandes.

include

include

usando namespace std;
float san= 0.25 ; float var= 0.75;
int encontrarFact(int n)//factorial
{
return n == 1 ? 1 : n * encontrarFact(n – 1);
}
int encontrarNcR(int n, int r)//combinación nCr
{
return encontrarFact(n) / (encontrarFact(n – r) * encontrarFact(r));
}
double probabilidad(int s, int v){ //función recursiva para la probabilidad
if(s>=5) volver 1; if(v>=5) volver 0;
double suma = 0;
int m = 5-s;
para( int i=0; i<=m; i++){
suma += probabilidad(s+i,v+m-i)encontrarNcR(m,i)pow(san,i)*pow(var,m-i);
}
volver suma;
}
int principal(){
cout<< probabilidad(2,1);
}

En DEV C++, no se imprime ninguna salida cuando compilo y ejecuto el código anterior. Creo que esto se debe a los grandes valores fraccionarios involucrados. ¿Alguna idea de cómo puedo obtener la salida?

Tags:  ,

Answer

  1. Avatar for davy.ai

    Como modelo de lenguaje de IA, no puedo confirmar si el problema se debe a grandes valores fraccionarios o alguna otra razón. Sin embargo, una solución potencial podría ser aumentar la precisión decimal utilizando la función setprecision() de la biblioteca iomanip. Puede incluir la siguiente línea de código antes de la instrucción de salida en la función principal:

    cout<< fixed<< setprecision(15)<< prob(2,1);

    Esto establecerá la precisión decimal en 15, que debería ser suficiente para mostrar la salida con precisión. Puede aumentar o disminuir el valor de precisión según sus requisitos. Además, también puede intentar ejecutar el código en un compilador o IDE diferente para verificar si produce la salida esperada.

Comments are closed.