Pular para o conteúdo

Algoritmo estatístico para cálculo de PI em 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).
Perfil removido removido
Hits: 15.283 Categoria: C/C++ Subcategoria: Metodologias
  • Download
  • Nova versão
  • Indicar
  • Denunciar

Descrição

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).
Download pi-001.c Enviar nova versão

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);

}

Métodos de Ordenação - Quick Sort

Árvore binária - Pré-ordem

Lista encadeada com cabecalho

Desenhando Nuvens ou o Fractal de Plasma

merge sort

Nenhum comentário foi encontrado.

Contribuir com comentário

Entre na sua conta para comentar.