aboutsummaryrefslogtreecommitdiff
path: root/C_C++/LeibnizPI.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'C_C++/LeibnizPI.cpp')
-rw-r--r--C_C++/LeibnizPI.cpp26
1 files changed, 26 insertions, 0 deletions
diff --git a/C_C++/LeibnizPI.cpp b/C_C++/LeibnizPI.cpp
new file mode 100644
index 0000000..2243f61
--- /dev/null
+++ b/C_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
+ */