Найти все натуральные числа из промежутка от a до b, у которых количество делителей превышает заданное число К — Pascal(Паскаль)

VAR
 A, B, K, i, count: Longint;
BEGIN
 WriteLn('Число делителей больше К из промежутка от А до В');
 Write('Введите число A: '); ReadLn(A);
 Write('Введите число B: '); ReadLn(B);
 Write('Введите минимальное число делителей K: '); ReadLn(K);
 if A > B then begin
     WriteLn('Неправильный ввод: A > B');
     Halt(1)  {Прекращение работы с кодом ошибки}
 end;
 while A <= B do begin
   count := 0;
   {Небольшая проблема: 1 и само число считать делителями?
    Здесь считаются. Иначе нужно
    for i=2 to A-1 do ...}
   for i:= 1 to A do
   begin
     if A mod i = 0 then inc(count);
   end;
   if count > K then WriteLn(A,' - Число делителей: ',count);
   A := A + 1;
 end;
 if count = 0 then WriteLn('Таких чисел нет');
 WriteLn;
END.

Leave a Comment

8 + 1 =