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

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

[ Hits: 14.831 ]

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

Algoritmo para detecção do sistema operacional em C

Uso de threads no C

Ordenação de dados

Um parser para tratar opções passadas para um programa em C

Fila


  

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