Даны натуральные числа m и n получить все кратные им числа меньшие m*n. ** паскале....

0 голосов
94 просмотров

Даны натуральные числа m и n получить все кратные им числа меньшие m*n. На паскале. Полностью текст программы, пожалуйста


Информатика | 94 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

Var
  m, n, nok, t, i: longint;

begin
  Write('Введите через пробел два целых положительных числа- ');
  Readln(m, n);
  {Сначала ищем НОК - наименьшее общее кратное}
  if m = n then begin
    nok := m;
    t := m * m
  end
  else begin
    t := m * n;
    repeat
      if m > n then m := m - n else n := n - m
    until m = n;
    nok := t div m
  end;
  {Теперь умножаем НОК на числа натурального ряда,
   пока не дойдем до величины t=m*n}
  if nok = t then Writeln('Требуемых чисел нет')
  else begin
    i := 1;
    while (nok * i < t) do
    begin
      Write(nok * i, ' ');
      i := i + 1
    end
  end
end.

Тестовое решение:
Введите через пробел два целых положительных числа- 8 120
120 240 360 480 600 720 840

Введите через пробел два целых положительных числа- 35 620
4340 8680 13020 17360

Введите через пробел два целых положительных числа- 7 13
Требуемых чисел нет


(142k баллов)