Algoritmo estatístico para cálculo de PI em C

Publicado por Perfil removido (última atualização em 17/04/2013)

[ Hits: 14.657 ]

Download pi-001.c




Método estatístico.

Sorteia uma série de coordenadas aleatórias num quadrado unitário e conta quantas são consideradas dentro de um círculo unitário.

Ao final, divide o número de pontos contados dentro pelo total de pontos contados (total de repetições do loop).

  



Esconder código-fonte

#include <stdio.h>
#include <stdlib.h>
#include <limits.h>
#include <time.h>

main () {

   srand((unsigned int)time((time_t *)NULL));

   int in = 0, out = 0;
   double d, x, y, pi;
   long long cont = 10516267;    // ou qualquer outro valor
   
   while (cont-->0) {

      x = (double) rand()/ (double)INT_MAX;
      y = (double) rand()/ (double)INT_MAX;

      d = x*x + y*y;

      (d<=1.0) ? in++ : out++;

   }

   pi = 4.0 * (float) in / (float) (in + out);

   printf ("pi (aprox.) = %2.13f\n", pi);

}

Scripts recomendados

Calculadora simples de dois valores, soma, subtrai, multiplica e divide

Calculadora em C separada por funções e com diretivas

Desenhando uma curva Dragão ou o Fractal Jurassic Park

Pilha usando lista encadeada

Algoritmo da Bisseção


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts