• Предмет: Информатика
  • Автор: yulechkakim19
  • Вопрос задан 7 лет назад

здесь пишет что НОД=0, что не так

const m: array [1..4] of integer = (76, 126, 216, 252);
var i, x, y, z: integer;
procedure nod (a, b: integer; var c: integer);
begin
while a<>b do
if a>b then a:=a-b else b:=b-a;
c:=a
end;
begin
x:=m[1];
for i:=2 to 4 do
begin
y:=m[i];
x:=z
end;
writeln ('НОД=', x)
end.

Ответы

Ответ дал: danulpopov
0
Вы просто забыли использовать процедуру, которую описали. Она есть, но вы ее не использовали, а в "z" изначально лежит "0".

const m: array [1..4] of integer = (76, 126, 216, 252);
var i, x, y, z: integer;

procedure nod (a, b: integer; var c: integer);
begin
while a<>b do
if a>b then a:=a-b else b:=b-a;
c:=a
end;

begin
x:=m[1];
for i:=2 to 4 do
begin
y:=m[i];
nod(x,y,z);
x:=z
end;
writeln ('НОД=', x)
end.

Вас заинтересует