Dev - C++ - aproximando a Pi

 
Vista:

aproximando a Pi

Publicado por Nataly (1 intervención) el 10/05/2016 07:16:59
PORFAVOR AYUDA CON ESTE PROBLEMA.
Problema 3 – Aproximando a Pi
Otro matemático del problema anterior, se ha dado cuenta de un hecho muy curioso de la teoría de probabilidades y simulación de Monte Carlo. El observo que si se tiene un círculo de radio 1, circunscrito dentro de un cuadrado.:

Es posible calcular Pi mediante simulación de Monte Carlo, esto se debe a que el Área de un circulo está determinada por A= πr^2, como el radio del circulo es 1 entonces la fórmula está determinada por A= π. Ahora el matemático formuló la hipótesis que se debería partir el círculo entre 4 para simplificar los cálculos.

El matemático tiene una suposición que si ALEATORIAMENTE se genera un punto P(x,y),con x,y ∈[0,1], se podría calcular Pi haciendo uso de la siguiente relación: 4*(puntos dentro del circulo)/(todos los puntos), el valor 4 simplemente se multiplica porque se ha partido el circulo en 4 partes.
Para saber si un punto está dentro o fuera del círculo, utilice la distancia Euclidea d= √(x^2+y^2 ), de esta forma si se genera aleatoriamente el punto P(0.3, 0.1) se sabe que ese punto está dentro del circulo puesto que √(〖0.3〗^2+〖0.1〗^2 )≤1, es decir el punto está dentro del círculo.

Le ha solicitado a usted como programador de C++ que demuestre su hipótesis haciendo un programa que genere 99 puntos aleatorios, luego 999, luego 9999, luego 99999,.. ¿Qué sucede cuando se calcular 9999999 puntos?.
Para generar los puntos aleatorios utilice el siguiente código:

#include <iostream>
using namespace std;

double random() {
return (double)rand()/RAND_MAX;
}

int main(int, char*[]) {
cout << random();
system("pause");
return 0;
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder