aboutsummaryrefslogtreecommitdiff
path: root/C++
diff options
context:
space:
mode:
authorSyndamia <kamen.d.mladenov@protonmail.com>2021-03-16 14:50:48 +0200
committerSyndamia <kamen.d.mladenov@protonmail.com>2021-03-16 14:50:48 +0200
commit65c04eaad8fbcce98c3c11054ee52b5277c82402 (patch)
tree71be9e673eaa0069e99ff00903fc7e2914e97d66 /C++
parentad2ae06f2e1689e89d94af9051a55a308278a7e9 (diff)
downloadalgorithms-65c04eaad8fbcce98c3c11054ee52b5277c82402.tar
algorithms-65c04eaad8fbcce98c3c11054ee52b5277c82402.tar.gz
algorithms-65c04eaad8fbcce98c3c11054ee52b5277c82402.zip
Added a quicky impelementation of Leibniz's algorithm for PI in C++
Diffstat (limited to 'C++')
-rw-r--r--C++/LeibnizPI.cpp26
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
+ */