Здесь пишет что НОД=0, что не так const m: array [1..4] of integer = (76, 126, 216, 252);...

0 голосов
79 просмотров

Здесь пишет что НОД=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.


Информатика (150 баллов) | 79 просмотров
Дан 1 ответ
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.

(8.8k баллов)