вот написал программку которая выводит из наибольшего общего делитель и наименьшего общего повторяющегося
Код
var a,b,c,d,i:integer;
begin
  WriteLn('введите наибольшее делитель');
  Readln(a);
   WriteLn('введите наименьшее общее повторяючееся');
  Readln(b);
  i:=b;
  c:= a*b;
  d:=b div b;
  writeln(d,' и ',c);
  while d*c=a*b   do
  begin
  d:=d*b;
  c :=c div b;
  if d*c=a*b then
  writeln(d,' и ',c);
  end;
  readln;
end.

вводишь 8 и 2 все нормальна пишет а вводишь другие цифра сразу неправильна как исправить мне ошибку.
мне кажется полностью программку придется переписывать
и надо будет переписывать так это аставляем так
Код
var a,b,c,d,i:integer;
begin
  WriteLn('введите наибольшее делитель');
  Readln(a);
   WriteLn('введите наименьшее общее повторяючееся');
  Readln(b);
  i:=b;
  c:= a*b;
  d:=b div b;
  writeln(d,' и ',c);

дальше открываем цикл for i:= 1 to a do
и сравниваем b*i=c если да то выводим на экран b и i
а если нет то b:=b+1
и занова сравниваем
мне кажется это более правильно но я не смог записать на pascal может поможете