From b75918cfe09743e73eba07b3daa6cd3748b6defc Mon Sep 17 00:00:00 2001 From: chf280902 <107817353+chf280902@users.noreply.github.com> Date: Tue, 21 Jun 2022 07:23:33 +0900 Subject: [PATCH] Create gcd.d --- src/gcd.d | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 src/gcd.d diff --git a/src/gcd.d b/src/gcd.d new file mode 100644 index 0000000..f3acddb --- /dev/null +++ b/src/gcd.d @@ -0,0 +1,38 @@ +#include + +const int n = 1000; + +unsigned int Euclidean_gcd_rec(unsigned int x, unsigned int y){ + if(x==0) return y; + return Euclidean_gcd_rec(y % x, x); +} + +/* +unsigned int Euclidean_gcd_itr(unsigned int x, unsigned int y){ +} + +unsigned int binary_gcd_rec(unsigned int x, unsigned int y){ +} + +unsigned int binary_gcd_itr(unsigned int x, unsigned int y){ +} +*/ + + +int main(){ + unsigned int i, j, c; + + + c = 0; + for(i = 1; i <= n; i++){ + for(j = i + 1; j <= n; j++){ + if(Euclidean_gcd_rec(i, j) == 1){ + c++; + } + } + } + c = 2 * c + 1; + + printf("%f\n", (double) c / (n * n)); + return 0; +}