changeset 45044 | 2fae15f8984d |
45041:0523a6be8ade | 45044:2fae15f8984d |
---|---|
1 package body Greatest_Common_Divisor |
|
2 is |
|
3 |
|
4 procedure G_C_D(M, N: in Natural; G: out Natural) |
|
5 is |
|
6 C, D, R: Integer; |
|
7 begin |
|
8 C := M; D := N; |
|
9 while D /= 0 loop |
|
10 --# assert C >= 0 and D > 0 and Gcd(C, D) = Gcd(M, N); |
|
11 R := C rem D; |
|
12 C := D; D := R; |
|
13 end loop; |
|
14 G := C; |
|
15 end G_C_D; |
|
16 |
|
17 end Greatest_Common_Divisor; |