М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
keril936
keril936
17.03.2021 15:00 •  Информатика

Модифицированный алгоритм евклида для вычисления наибольшего общего делителя двух натуральных чисел, формулируется так: нужно заменять большее число на остаток от деления большего на меньшее до тех пор, пока остаток не станет равно нулю; тогда второе число и есть нод. напишите программу, которая реализует этот алгоритм. входные данные: входная строка содержит два числа, разделённые пробелом – a и b . выходные данные: программа должна вывести в одной строке два числа: сначала наибольший общий делитель двух введённых чисел, а затем – количество шагов цикла, которые были выполнены. примеры: входные данные: 21 14 выходные данные: 7 2 входные данные: 121 136 выходные данные: 1 3

👇
Ответ:
пиро3
пиро3
17.03.2021
Var a,b,nod,k:integer;
begin
readln(a,b);
k:=0;
while (a<>0)and(b<>0) do
 begin
 if a>b then a:=a mod b else b:=b mod a;
 k:=k+1;
 end;
nod:=a+b;
writeln(nod,' ',k);
end.

Пример:
21 14
7 2
4,5(73 оценок)
Открыть все ответы
Ответ:
alla5051
alla5051
17.03.2021
// PascalABC.Net 3.0, сборка 1052
const
  nn=100;
var
  a:array[1..nn] of integer;
  p,s:longint;
  i,n:byte;
begin
  Write('Введите количество элементов в массиве: '); Read(n);
  Writeln('Вводите целочисленные элементы массива через пробел');
  s:=0; p:=1;
  for i:=1 to n do begin
    Read(a[i]);
    if i mod 2 = 0 then p:=p*a[i];
    s:=s+a[i]
  end;
  Writeln('Произведение элементов с четными номерами: ',p);
  Writeln('Среднее арифметическое элементов: ',s/n)
end.

Тестовое решение:
Введите количество элементов в массиве: 10
Вводите целочисленные элементы массива через пробел
-4 6 11 8 12 21 7 13 9 -15
Произведение элементов с четными номерами: -196560
Среднее арифметическое элементов: 6.8
4,7(29 оценок)
Ответ:
// PascalABC.NET 3.3, сборка 1607 от 31.12.2017
// Внимание! Если программа не работает, обновите версию!

type
  R=sequence of integer;

begin
  var a:=ArrRandom(ReadInteger('n='),-99,99); a.Println;
  var P:R->BigInteger:=t->t.Aggregate(BigInteger(1),(p,q)->p*q);
  if P(a.Where(t->t.IsEven))>P(a.Where(t->t.IsOdd))
  then Writeln('Номер максимального элемента: ',a.IndexMax+1)
  else Writeln('Номер минимального элемента: ',a.IndexMin+1)
end.

Примеры
n= 17
31 98 7 42 -70 -98 -34 43 -48 -40 -28 -35 15 26 25 1 -66
Номер минимального элемента: 6

n= 15
95 88 -82 96 87 -68 17 40 -66 1 60 -25 -78 -55 -55
Номер максимального элемента: 4
4,8(24 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ