В
Все
М
Математика
О
ОБЖ
У
Українська мова
Д
Другие предметы
Х
Химия
М
Музыка
Н
Немецкий язык
Б
Беларуская мова
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
Р
Русский язык
У
Українська література
Ф
Французский язык
П
Психология
А
Алгебра
О
Обществознание
М
МХК
В
Видео-ответы
Г
География
П
Право
Г
Геометрия
А
Английский язык
И
Информатика
Қ
Қазақ тiлi
Л
Литература
И
История
nata3212
nata3212
13.09.2022 21:32 •  Информатика

Нужен ответ на все задачи что на картинке, там не сложно, времени совсем нет)


Нужен ответ на все задачи что на картинке, там не сложно, времени совсем нет)
Нужен ответ на все задачи что на картинке, там не сложно, времени совсем нет)

Показать ответ
Ответ:
Маруся203
Маруся203
29.05.2020 16:09
1. Современный эффективный код

PascalABC.NET 3.3.5, сборка 1659 от 09.04.2018
Внимание! Если программа не работает, обновите версию!

begin
  var (x,y):=ReadInteger2('Введите через пробел два числа:');
  if (x<0) or (y<0) then Writeln('Ввод отрицательных чисел недопустим')
  else begin
    while y>0 do (x,y):=(y,x mod y);
    Writeln('НОД=',x)
    end
end.

Примеры
Введите через пробел два числа: 14 -2
Ввод отрицательных чисел недопустим

Введите через пробел два числа: 32 76
НОД=4

2. Традиционный "школьный" код

var
  x,y,t:integer;

begin
  Write('Введите через пробел два числа: ');
  Read(x,y);
  if (x<0) or (y<0) then Writeln('Ввод отрицательных чисел недопустим')
  else begin
    while y>0 do begin
      x:=x mod y;
      t:=x; x:=y; y:=t
      end;
    Writeln('НОД=',x)
    end
end.
0,0(0 оценок)
Ответ:
ala4ka
ala4ka
29.05.2020 16:09
Var a,b,i,nod:integer
Begin
a:=-1;
b:=-1;
//ввод первого числа
Writeln('Введите первое число');
While a<0 do
begin
readln(a);
if a<0 then writeln('Ввод ошибочен, повторите ввод первого числа');
end;
//ввод второго числа
Writeln('Введите второе число');
While b<0 do
begin
readln(b);
if b<0 then writeln('Ввод ошибочен, повторите ввод второго числа');
end;
//определение минимального числа
if a>b then i:=b else i:=a;
//перебор чисел от минимального до 0 (т.к. НОД не может быть больше минимального числа)
While nod=0 do
begin
i:=i-1;
if (a mod i = 0) and (b mod i = 0) then nod:=i;
end;
//вывод НОД
Writeln('НОД ', a,' и ', b, ' = ', nod);
end.
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота