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

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

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

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

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

12

16

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

4 48

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

Показать ответ
Ответ:
Killer3D
Killer3D
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-бота