author | haftmann |
Thu, 19 Jun 2025 17:15:40 +0200 | |
changeset 82734 | 89347c0cc6a3 |
parent 41561 | d1318f3c86ba |
permissions | -rw-r--r-- |
41561 | 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; |