Você está na página 1de 1

Codificação na linguagem C (ANSI) para cálculo do PI

Este é o primeiro de uma série de textos em que apresentaremos os resultados de nossas tentativas de
construir um código na linguagem C para calculo do PI, buscando a fórmula que se possa ser convertida em
um algoritmo computacional que apresente os melhores resultados (desempenho e precisão). O desafio
começou com um exercício de faculdade e foi documentado em meu blog: calculando o pi em c ansi. O
exercício solicitava que o código fosse baseado na fórmula de Leonhard Euler, a primeira versão utilizava
esta fórmula de forma bem simples. Abaixo o código:

#include stdio.h;
#include stdlib.h;
#include math.h

// Protótipos
int checaprimo(int num);
double calculo1(unsigned int n);
double retorna_pi(unsigned int nTimes);

void main(int argc, char *argv[])


{
unsigned int n;
system("cls");
printf("Entre com a precisao : ");
scanf("%i",&n);
printf("%.20f\n",retorna_pi(n));
printf("%s\n\n"," ");
system("PAUSE");
}

// Calcula e retorna o PI
double retorna_pi(unsigned int nTimes)
{
double soma1=1, pi;
unsigned int primos=0, count=2;
do
{
if (checaprimo(count)==1)
{
soma1 = (soma1*calculo1(count));
primos++;
}
count++;
} while (primos<=nTimes);
return sqrt(soma1*6);
}

Explicações com outros detalhes podem ser visto no blog:


http://www.cosmoverbal.net/desenvolvimento/calculando-o-pi-em-c-ansi

Você também pode gostar