GCD stands for Greatest Common Divisor. The program is written here to find the GCD of ‘n’ numbers. The number of elements and the numbers of which the GCD is to be found are taken as input. For example, let the number of elements be 3 and the numbers are 12, 15 and 18. First, the first pair of numbers is 12 and 15, whose GCD is 3, now; the GCD of 3 and 18 will be found which is also 3. Therefore, the GCD of 12, 15 and 18 is 3.

INPUT: The number of elements and the elements of which the GCD is to be calculated.

OUTPUT: The GCD of the numbers

PROCESS:

Step 1: [Taking the input]

Read n

For i=0 to n-1 repeat

Read a[i]

[End of ‘for’ loop]

Step 2: [Function to find the ‘gcd’ of two numbers stored in variables ‘x’ and ‘y’]

While x≠y repeat

If x>y then

Set x<-x-y

Else

Set y<-y-x

[End of ‘if-else’]

[End of ‘while’ loop]

[End of the function]

Step 3: [Finding the GCD]

Set g<-a[0]

For i=1 to n-1 repeat

Set g<-call the function ‘gcd(g,a[i])’

[End of ‘for’ loop]

[Printing the gcd]

Print "The GCD is: g"

[End of finding the GCD]

Step 4: Stop.

**for** (i=1;i<n;i++)------------------------O(n)

g=gcd(g,a[i]);

The time complexity of this program is O(n) where ‘n’ is the number of elements of which the GCD is to be calculated.

The space complexity of this program is O(1) as it requires a constant number of memory spaces for any given input.