Summary Files Commits Branches @commit @diff @stats
path: root / C++ / LeibnizPI.cpp
diff options
context:
space:
mode:
Commit65c04eaad8fbcce98c3c11054ee52b5277c82402 (patch)
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
Files71be9e673eaa0069e99ff00903fc7e2914e97d66 /C++/LeibnizPI.cpp
algorithms-65c04eaad8fbcce98c3c11054ee52b5277c82402.tar
algorithms-65c04eaad8fbcce98c3c11054ee52b5277c82402.tar.gz
algorithms-65c04eaad8fbcce98c3c11054ee52b5277c82402.zip
Parentad2ae06f2e1689e89d94af9051a55a308278a7e9 (diff)
Added a quicky impelementation of Leibniz's algorithm for PI in C++
1 files changed, 26 insertions, 0 deletions
-rw-r--r--C++/LeibnizPI.cpp26
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
+ */