Найти наибольший общий делитель следующих чисел(16 32 40 64 80 128). Использовать...

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

Найти наибольший общий делитель следующих чисел(16 32 40 64 80 128). Использовать процедуру для нахождения общего делителя. ПАСКАЛЬ!!!


Информатика (140 баллов) | 59 просмотров
0

я же написал тебе

0

не работает!

0

и тем более как та задача имеет значение к этой? Там не указаны эти цифры

0

там были эти цифры , программа почти правильная, там ( в коментах добавления) , могу написать полностью правильную я проверил её на компьютере

0

давай

0

хот тебе уже написали

0

мне с процедурой нужно

Дан 1 ответ
0 голосов
Правильный ответ

Думаю нет большой разницы между процедурой и функцией, просто функция куда удобнее.
Для нахождения нода используется алгоритм Эвклида

//PascalABC.Net

function NOD(A, B: integer): integer;
begin
    while A <> B do
        if A > B then A := A - B else B := B - A;
    NOD := A;
end;

procedure pNOD(A, B: integer; var NOD: integer);
begin
    while A <> B do
        if A > B then A := A - B else B := B - A;
    NOD := A;
end;

begin
    var a: Array of integer := (16, 32, 40, 64, 80, 128);
    var n := a[low(a)];
    for var i := low(a) to high(a) do
        pNOD(n, a[i], n);
   
    Writeln(n);
end.

(53.1k баллов)
0

Возможно и удобнее, но нам сказали через процедуру

0

и все же мне кажется что в контексте задания это одно и тоже

0

да, оно одно и тоже, но мне обязательно с процедурой нужно!

0

вот блин

0

вот, используется процедура