var a, b, с: integer;
begin
write('Введите два числа: ');
readln(a, b);
if a < b then с := a + 1 else с := b + 1;
repeat с := с - 1
until (a mod с = 0) and (b mod с = 0);
write('NOD = ', с)
end.
//2. Алгоритм с вычитанием (цикл while)
var a, b: integer;
begin
write('a = ');
readln(a);
write('b = ');
readln(b);
while a <> b do
if a > b then
a := a - b
else
b := b - a;
writeln('NOD = ', a);
end.
Всё просто.
Объяснение:
4
1524 (10) = 5F4 (16)
5
а) 1110 (2) + 1011 (2) = 14 (10) + 11 (10) = 25 (10) = 11001 (2);
б) 11010 (2) + 11101 (2) = 26 (10) + 29 (10) = 55 (10) = 110111 (2);
в) 1101 (2) * 101 (2) = 13 (10) + 5 (10) = 18 (10) = 10010 (2).
6
( x & -y ) ∨ ( -x & y )
0 0 0 0 0 0
0 1 1 0 1 1
1 0 1 1 0 1
0 0 1 0 0 1