Вопрос задан 11.10.2018 в 02:43. Предмет Информатика. Спрашивает Кашпир Илья.

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

нахождения общего делителя. ПАСКАЛЬ!!!
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Ромич Макс.
Var dv,tr,pt,dv1,tr1,pt1,dv2,tr2,pt2 :real;

procedure nod( var dv,tr,pt,dv1,tr1,pt1,dv2,tr2,pt2 :real; );
var a:array[1..6] of real;
i : integer;
begin
dv1:=100;
tr1:=100;
pt1:=100;
for i:= low(a) to high (a) do begin
readln(a[i]);
repeat
if( (a[i] mod 2) =0) then begin
a[i]:=a[i]/2;
dv:=dv+1;
end
else if( ( a[i] mod 3)=0) then begin
a[i]:=a[i]/3;
tr:=tr+1;
end
else if ( ( a[i] mod 5)=0) then begin
a[i]:=a[i]/5;
pt:=pt+1;
end;

untill(a=1);
if dvif trif ptdv:=0;
tr:=0;
pt:=0;
end;
if dv1>0 then dv2:=dv1*2 else dv2:=1;
if tr1>0 then tr2:=tr1*3 else tr2:=1;
if pt1>0 then pt2:=pt1*5 else pt2:=1;
nod:=dv2*tr2*pt2;
writeln(nod);
end;
begin
nod( dv,tr,pt,dv1,tr1,pt1,dv2,tr2,pt2 );
end.


end;
0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Конечно, давайте напишем программу на Pascal для нахождения наибольшего общего делителя (НОД) для заданных чисел. Воспользуемся алгоритмом Евклида.

```pascal program GCD_Pascal;

// Функция для нахождения НОД двух чисел function FindGCD(a, b: Integer): Integer; begin while b <> 0 do begin // На каждом шаге заменяем a на b, b на a mod b // Это основной принцип алгоритма Евклида // НОД(a, b) = НОД(b, a mod b) a := a mod b; // Меняем значения переменных местами Swap(a, b); end; // Когда b становится равным 0, a содержит значение НОД Result := a; end;

var numbers: array[1..6] of Integer = (16, 32, 40, 64, 80, 128); i, resultGCD: Integer;

begin // Начинаем с вычисления НОД первых двух чисел resultGCD := FindGCD(numbers[1], numbers[2]);

// Проходим по оставшимся числам и обновляем НОД for i := 3 to 6 do resultGCD := FindGCD(resultGCD, numbers[i]);

// Выводим результат writeln('Наибольший общий делитель чисел ', numbers[1], ', ', numbers[2], ', ', numbers[3], ', ', numbers[4], ', ', numbers[5], ', ', numbers[6], ' равен ', resultGCD);

end. ```

Этот код на Pascal определяет функцию `FindGCD`, которая использует алгоритм Евклида для нахождения НОД двух чисел. Затем программа использует эту функцию для нахождения НОД для массива чисел и выводит результат.

0 0

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос