While23. Даны целые положительные числа $$A$$ и $$B$$. Найти их наибольший общий делитель (НОД), используя алгоритм Евклида: НОД($$A$$,$$B$$) = НОД($$B$$, $$A$$ mod $$B$$), если $$B \not= 0$$; НОД($$A$$, $$0$$) = $$A$$.
Решение:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
program While23; var A,B :Integer; begin Write('Введите число A: '); Readln(A); Write('Введите число B: '); Readln(B); while (A<>0) and (B<>0) do begin if a>b then A:=(a mod b) else B:=(B mod A); end; Writeln(A+B); end. |
Другие задачи из раздела While можно посмотреть здесь.
`
Что значит writeln (a+b) ??
Сначало выполняется операция a+b, а потом выводится на консоль.