-
-
Save parzibyte/1654a27fc61939898597f761575f2a84 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* | |
____ _____ _ _ _ | |
| _ \ | __ \ (_) | | | | |
| |_) |_ _ | |__) |_ _ _ __ _____| |__ _ _| |_ ___ | |
| _ <| | | | | ___/ _` | '__|_ / | '_ \| | | | __/ _ \ | |
| |_) | |_| | | | | (_| | | / /| | |_) | |_| | || __/ | |
|____/ \__, | |_| \__,_|_| /___|_|_.__/ \__, |\__\___| | |
__/ | __/ | | |
|___/ |___/ | |
Blog: https://parzibyte.me/blog | |
Ayuda: https://parzibyte.me/blog/contrataciones-ayuda/ | |
Contacto: https://parzibyte.me/blog/contacto/ | |
Copyright (c) 2020 Luis Cabrera Benito | |
Licenciado bajo la licencia MIT | |
El texto de arriba debe ser incluido en cualquier redistribución | |
*/ | |
#include <stdio.h> // Para printf | |
#include <stdlib.h> // Para EXIT_SUCCESS | |
/* | |
Calcular pi usando la fórmula de Leibniz | |
Recuerda: entre más iteraciones, mayor precisión | |
*/ | |
double calcularPi(double iteraciones) { | |
double numerador = 4; | |
double denominador = 1; // A este lo vamos a ir aumentando de 2 en 2 | |
double pi = 0; | |
int x = 0; | |
// Recuerda que es alternar entre negativo y positivo; por eso la bandera. | |
// Comenzamos en positivo | |
int operador = 1; | |
for (x; x < iteraciones; x++) { | |
pi += operador * (numerador / denominador); | |
denominador += 2; // El denominador aumenta de 2 en 2 | |
operador *= -1; // Alternamos operador | |
} | |
return pi; | |
} | |
int main() { | |
double iteraciones = 10; | |
double pi = calcularPi(iteraciones); | |
printf("Al calcular pi con %-10.lf iteraciones se obtiene %1.20lf\n", | |
iteraciones, pi); | |
iteraciones = 1000; | |
pi = calcularPi(iteraciones); | |
printf("Al calcular pi con %-10.lf iteraciones se obtiene %1.20lf\n", | |
iteraciones, pi); | |
iteraciones = 10000; | |
pi = calcularPi(iteraciones); | |
printf("Al calcular pi con %-10.lf iteraciones se obtiene %1.20lf\n", | |
iteraciones, pi); | |
iteraciones = 100000; | |
pi = calcularPi(iteraciones); | |
printf("Al calcular pi con %-10.lf iteraciones se obtiene %1.20lf\n", | |
iteraciones, pi); | |
iteraciones = 1000000; | |
pi = calcularPi(iteraciones); | |
printf("Al calcular pi con %-10.lf iteraciones se obtiene %1.20lf\n", | |
iteraciones, pi); | |
iteraciones = 10000000; | |
pi = calcularPi(iteraciones); | |
printf("Al calcular pi con %-10.lf iteraciones se obtiene %1.20lf\n", | |
iteraciones, pi); | |
iteraciones = 100000000; | |
pi = calcularPi(iteraciones); | |
printf("Al calcular pi con %-10.lf iteraciones se obtiene %1.20lf\n", | |
iteraciones, pi); | |
iteraciones = 1000000000; | |
pi = calcularPi(iteraciones); | |
printf("Al calcular pi con %-10.lf iteraciones se obtiene %1.20lf\n", | |
iteraciones, pi); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment