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

Наибольший общий делитель двух натуральных чисел – наибольшее число, на которое делятся данные числа. Наименьшее общее кратное двух натуральных чисел – наименьшее число, которое делится на данные числа. На вход программы поступают 2 целых положительных числа. Необходимо найти их наибольший общий делитель и наименьшее общее кратное.

Описание входных и выходных данных

В двух строках по одному записаны натуральные числа, не превосходящие 100000000.
В качестве результата программа должна напечатать через пробел наибольший общий делитель и наименьшее общее кратное данных чисел.

Пример входных данных:

12

16

Пример выходных данных для приведённого выше примера входных данных:

4 48

Требуется написать эффективную по времени и памяти программу. Перед текстом программы обязательно опишите алгоритм решения. Укажите использованный язык программирования и его версию.

Показать ответ
Ответ:
Андрей11111111111151
Андрей11111111111151
08.08.2021 15:23

program krolik;

var a,b,i,del,kr,p:longint;

begin

writeln('введите значение первого числа');

readln(a);

writeln('введите значение второго числа');

readln(b);

if (a<=0) or (b<=0) then

writeln('ошибка');

del:=1;

for i:=1 to a do

if (a mod i=0) and (b mod i=0) then

del:=i;

p:=a*b;

kr:=p;

for i:=p downto 1 do

if (i mod a=0) and (i mod b=0) then

kr:=i;

writeln(del,' ',kr);

end.

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота