From 90b77e76146a4f47f7208853ee7de7d7fdf55945 Mon Sep 17 00:00:00 2001 From: Igor Pashev Date: Mon, 7 Nov 2022 16:47:40 +0200 Subject: Update gcd.c --- gcd.c | 36 ++++++++++++++++-------------------- 1 file changed, 16 insertions(+), 20 deletions(-) (limited to 'gcd.c') diff --git a/gcd.c b/gcd.c index 227be89..5fa3840 100644 --- a/gcd.c +++ b/gcd.c @@ -1,10 +1,10 @@ #include #include -static unsigned long int -gcd2 (unsigned long int a, unsigned long int b) +static unsigned long +gcd2 (unsigned long a, unsigned long b) { - unsigned long int c; + unsigned long c; while (b != 0) { c = b; @@ -14,16 +14,14 @@ gcd2 (unsigned long int a, unsigned long int b) return a; } -static unsigned long int -gcdn (unsigned long int *a, size_t n) +static unsigned long +gcdn (const unsigned long *a, size_t n) { - unsigned long int r; + unsigned long r; size_t i; r = a[0]; for (i = 1; i < n; i++) - { - r = gcd2 (r, a[i]); - } + r = gcd2 (r, a[i]); return r; } @@ -31,22 +29,20 @@ gcdn (unsigned long int *a, size_t n) int main (int argc, char *argv[]) { - unsigned long int *a; + unsigned long *a; size_t i, n; if (argc > 1) { n = (size_t) (argc - 1); - a = (unsigned long int *) malloc (sizeof (unsigned long int) * n); - if (NULL != a) - { - for (i = 1; i <= n; i++) - a[i - 1] = strtoul (argv[i], NULL, 10); - printf ("%lu\n", gcdn (a, n)); - free (a); - return EXIT_SUCCESS; - } - return EXIT_FAILURE; + a = (unsigned long *) malloc (n * sizeof (unsigned long)); + if (!a) + return EXIT_FAILURE; + + for (i = 1; i <= n; i++) + a[i - 1] = strtoul (argv[i], NULL, 10); + printf ("%lu\n", gcdn (a, n)); + free (a); } return EXIT_SUCCESS; } -- cgit v1.2.3