Люди ответьте на этот вроде бы легкий во Описание алгоритма нахождения НОД делением
Большее число делим на меньшее.
Если делится без остатка, то меньшее число и есть НОД (следует выйти из цикла).
Если есть остаток, то большее число заменяем на остаток от деления.
Переходим к пункту 1.
Пример:
Найти НОД для 30 и 18.
30/18 = 1 (остаток 12)
18/12 = 1 (остаток 6)
12/6 = 2 (остаток 0). Конец: НОД – это делитель. НОД (30, 18) = 6
2. Разработайте блок-схему для нахождения алгоритма Евклида. само задание
var a: array[1..20] of integer = ( 20, 9, 24, 12, 23, 24, 21, 17, 1,
15, 25, 8, 21, 2, 6, 4, 12, 16, 8, 13);
i,j,k: integer;
begin
for i:=1 to n-1 do
for j:=i+1 to n do
if a[j]<a[i] then swap(a[i],a[j]);
writeln('отсортированный массив: ');
for i:=1 to n do write(a[i],' ');
writeln;
k:=0;
i:=1; j:=2;
repeat
if a[j]-a[i]>=3 then
begin
writeln('пара: ',a[i],' ',a[j]);
i:=j;
inc(k);
end;
inc(j);
until j>n;
writeln('количество солдат:k+1);
end.
отсортированный массив:
1 2 4 6 8 8 9 12 12 13 15 16 17 20 21 21 23 24 24 25
пара: 1 4
пара: 4 8
пара: 8 12
пара: 12 15
пара: 15 20
пара: 20 23
количество солдат: 7
begin
writeln('Введите количество часов в первом моменте времени');
readln(a);
writeln('Введите количество минут в первом моменте времени');
readln(b);
writeln('Введите количество секунд в первом моменте времени');
readln(c);
writeln('Введите количество часов во втором моменте времени');
readln(a1);
writeln('Введите количество минут во втором моменте времени');
readln(b1);
writeln('Введите количество секунд во втором моменте времени');
readln(c1);
s:=abs(a*3600+b*60+c-a1*3600-b1*60-c1);
writeln(s,' секунд');
end.
2)var a,b:integer;
s:real;
begin
writeln('Введите первое число');
readln(a);
writeln('Введите второе число');
readln(b);
if (a+b) mod 2 =0 then s:=a*b
else s:= a/b;
writeln(s);
end.
3)var b,s,n:real;
begin
writeln('Введите количество часов');
readln(n);
n:=n/3;
s:=2*power(2,(n-1));
writeln(s,' амёб');
end.
4)var a:array[1..7]of integer;
i:integer;
begin
for i:=1 to 7 do
begin
a[i]:=random(11);
writeln('a[',i,']= ',a[i]);
end;
end.