aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcd/gcd.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/gcd/gcd.cpp b/gcd/gcd.cpp
new file mode 100644
index 0000000..fb011bb
--- /dev/null
+++ b/gcd/gcd.cpp
@@ -0,0 +1,9 @@
+/*
+Problem: Find the greatest common divisor of two numbers.
+
+Solution: Euclidean algorithm except modulos are computed using trig functions!
+*/
+
+#include <bits/stdc++.h>
+int gcd(int a,int b){while(a^b)std::swap(b,a=b*(M_PI/2-atan(cos(M_PI*a/b)/sin(M_PI*a/b)))/M_PI+1e-9);return a;}
+int main(){std::cout<<gcd(126,84);}