Задать вопрос
19 февраля, 11:40

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

+1
Ответы (1)
  1. 19 февраля, 12:55
    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 ab 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.
Знаете ответ на вопрос?
Не уверены в ответе?
Правильный ответ на вопрос 👍 «Здесь пишет что НОД=0, что не так const m: array [1 ... 4] of integer = (76, 126, 216, 252) ; var i, x, y, z: integer; procedure nod (a, b: ...» по предмету 📗 Информатика. Развернутая система поиска нашего сайта обязательно приведёт вас к нужной информации. Как вариант - оцените ответы на похожие вопросы. Но если вдруг и это не помогло - задавайте свой вопрос знающим оппонентам, которые быстро дадут на него ответ!
Искать готовые ответы