Calculando PI usando série de Leibniz

Publicado por - (última atualização em 18/12/2018)

[ Hits: 14.510 ]

Homepage: -

Download 6928.pi.c




Neste script, calcula-se o famoso número PI usando série de Leibniz. A programação foi feita em linguagem C.

  



Esconder código-fonte

/*
Para calcular o número PI, deve-se realizar o seguinte cálculo matemático:
pi = 4*(1 - 1/3 + 1/5 - 1/7 + 1/9 ... 1/n)

Série de Leibniz

*/

#include <stdio.h>

int main(){
   printf("Calculando número PI usando série de Leibniz\n");

   printf("Este processo pode demorar um pouquinho, dependendo de sua CPU.\n");
   printf("O número PI é gerado através de sucessivas somas e subtrações 900 milhões de vezes!\n");


   double pi = 4;
   double operador = -1;

   double i;
   for(i = 0; i < 900000000; i++){
      pi += operador*(4/(3+2*i));

      operador *= -1;
   }

   printf("Resultado: %.8f...\n", pi);

   return 0;
}

Scripts recomendados

Pilha com Ponteiros

Biblioteca dos.h

Simples Criptografia de Dados em Liguagem de programação C/C++

Memória compartilhada, semáforo e criação de processos

Funções com número variável de argumentos


  

Comentários
[1] Comentário enviado por paulo1205 em 18/01/2019 - 20:44h

Várias observações:

  • Em vez de ficar em 900000000 de parcelas, por que não deixar que o usuário escolha a quantidade de parcelas, para ver o comportamento?

  • Na verdade você tem 900000001 parcelas, pois o valor inicial 4 já deveria contar um uma delas. Zero parcelas deveria produzir um valor zero, não concorda?

  • Por que “operador*=-1” em vez de simplesmente “operador=-operador”?

  • Se i já é do tipo double, por que contar de um em um e, dentro do laço de repetição, multiplicá-lo por 2 a cada iteração? Seria mais eficiente contar de 2 em 2 e ir até 1800000000.


... “Principium sapientiae timor Domini, et scientia sanctorum prudentia.” (Proverbia 9:10)

[2] Comentário enviado por BiaMonteiro em 20/01/2019 - 16:38h

Obrigada pelas observações!


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts