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

Maksi112 Maksi112    2   14.07.2019 06:30    0

Ответы
Андрей3482 Андрей3482  03.10.2020 03:57
// PascalABC.NET 3.0, сборка 1128
var
  i,j,k,n,p:longint;
  f:array[1..10,1..2] of longint;
begin
  p:=2; i:=1;
  f[1,1]:=1; f[1,2]:=1;
  Write('Введите натуральное число не больше 2 147 483 647: ');
  Read(n);
  while n<>1 do begin
    if (n mod p)=0 then begin
      if f[i,1]<>p then
      begin Inc(i); f[i,1]:=p; f[i,2]:=1 end
      else Inc(f[i,2]);
      n:=n div p
    end
    else inc(p)
  end;
  k:=i;
  for i:=2 to k do
    for j:=1 to f[i,2] do Write(f[i,1],' ');
  Writeln
end.

Тестовое решение:
Введите натуральное число не больше 2 147 483 647: 37534
2 7 7 383
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика