Cálculo de PI contando coprimos

Hong Christian Lin Jiang

/* Este programa simula lanzamientos de dados para hallar un posible valor aproximado de PI aplicando relaciones de coprimos y probabilidad. */

// Para saber qué tiene que ver el número PI en esto:

http://www.youtube.com/watch?v=RZBhSi_PwHU&t=234s   

 

#include <stdio.h>
#include <time.h>
#include <math.h>

int mcd(int a, int b);
// Otras opciones:
// long int mcd(int a, int b);
// long long int mcd(int a, int b);

int main()
{
srand (time(NULL));

int faces_dice, throwning;
int dice_1, dice_2;
int i, coprime=0;
double aprox_pi;
// float aprox_pi; (otra posible opcion)
// long double aprox_pi; (otra posible opcion)

do{
printf(“Numero de caras de cada uno de los dados: “);
scanf(“%d”, &faces_dice);
printf(“Numero de tiradas del par de dados: “);
scanf(“%d”, &throwning);
} while (faces_dice<0  || throwning<0);
//while (faces_dice<120 || throwning<500); (ejemplo de limitados parametros)

for (i=1; i<=throwning; i++)
{
dice_1= rand()%faces_dice +1;
dice_2= rand()%faces_dice +1;
if (mcd(dice_1,dice_2)==1) coprime++;
else continue;
}

printf(“\n”);
printf(“Pares de numeros coprimos entre sí: %d \n”, coprime);
printf(“Pares de numeros no coprimos entre sí: %d \n”, throwning-coprime);

aprox_pi= sqrt(6.0*throwning/coprime);
printf(“\nValor aproximado de PI: %lf \n”, aprox_pi);
printf(“\nValor aproximado de PI: %.18lf \n”, aprox_pi);
}

int mcd(int a, int b)
{
int resto, answer;

do{
resto= a%b;
a= b;
b= resto;
} while (resto!=0);

answer= a;

return answer;
}

Anuncios
Esta entrada fue publicada en Informática e Internet. Guarda el enlace permanente.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

w

Conectando a %s