# Caribbean Secondary Education Certificate - Information Technology/Converting Algorithms to Programs

From WikiEducator

## Example

Problem: Find the greatest common divisor (GCD) of two integers, m and n.

Euclid's Algorithm:

while m is greater than zero:

If n is greater than m, swap m and n. Subtract n from m.

n is the GCD

Program (in C): int gcd(int m, int n) /* precondition: m>0 and n>0. Let g=gcd(m,n). */

{ while( m > 0 ) { /* invariant: gcd(m,n)=g */ if( n > m ) { int t = m; m = n; n = t; } /* swap */ /* m >= n > 0 */ m -= n; } return n; }