diff options
| author | Syndamia <kamen.d.mladenov@protonmail.com> | 2021-03-16 14:50:48 +0200 |
|---|---|---|
| committer | Syndamia <kamen.d.mladenov@protonmail.com> | 2021-03-16 14:50:48 +0200 |
| commit | 65c04eaad8fbcce98c3c11054ee52b5277c82402 (patch) | |
| tree | 71be9e673eaa0069e99ff00903fc7e2914e97d66 | |
| parent | ad2ae06f2e1689e89d94af9051a55a308278a7e9 (diff) | |
| download | algorithms-65c04eaad8fbcce98c3c11054ee52b5277c82402.tar algorithms-65c04eaad8fbcce98c3c11054ee52b5277c82402.tar.gz algorithms-65c04eaad8fbcce98c3c11054ee52b5277c82402.zip | |
Added a quicky impelementation of Leibniz's algorithm for PI in C++
| -rw-r--r-- | C++/LeibnizPI.cpp | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/C++/LeibnizPI.cpp b/C++/LeibnizPI.cpp new file mode 100644 index 0000000..2243f61 --- /dev/null +++ b/C++/LeibnizPI.cpp @@ -0,0 +1,26 @@ +#include <iostream> + +using namespace std; + +int main() +{ + cout << "n = "; + unsigned int n = 1; + cin >> n; + long double pid4 = 1; + + for(unsigned int i = 0, dvsr = 3; i < n; i++, dvsr += 2) { + pid4 += ((i % 2) ? 1.0 : -1.0) / dvsr; + } + + cout.precision(64); + cout << endl << pid4 * 4.0 << endl; + + return 0; +} + +/* This is a quick implementation of of the Leibniz formula for PI + * https://en.wikipedia.org/wiki/Leibniz_formula_for_%CF%80 + * + * Fun fact: you need around 100 million iterations for 7 correct decimal places + */ |
