Регистрация
Войти
Стать экспертом Правила
Информатика

НУЖНА ПОМОЩЬ С ИНФОРМАТИКОЙ!!!ЯЗЫК ПАСКАЛЬ.

ОТВЕТЫ


var
  i,s:integer;
 
begin
  s:=0;
  for i:=1 to 101 do s:=s+i*(i+1);
  Writeln('S=',s)
end.


S=353702






function Divizors(n:integer):array of integer;
begin
  if n=1 then begin SetLength(Result,1); Result[0]:=1 end
  else begin
    var m:=Trunc(ln(n)/ln(2))+2;
    var a:array of integer; SetLength(a,m);
    a[0]:=1;
    var d:=2;
    m:=2;
    while (n mod d<>0) and (d<=n) do Inc(d);
    a[1]:=d;
    if d<>n then begin
      for var i:=a[1]+1 to n div a[1] do
        if n mod i = 0 then begin a[m]:=i; Inc(m) end;
      a[m]:=n;
      SetLength(a,m+1)
      end
    else SetLength(a,2);
    Result:=a;
  end
end;


begin
  var n:=ReadInteger('n=');
  Write(n,': ');
  Divizors(n).Println;
end.


n= 4096
4096: 1 2 4 8 16 32 64 128 256 512 1024 2048 4096
861
Контакты
Реклама на сайте
Спрошу
О проекте
Новым пользователям
Новым экспертам