№1
var
i,s:integer;
begin
s:=0;
for i:=1 to 101 do s:=s+i*(i+1);
Writeln('S=',s)
end.
Результат
S=353702
№2
// PascalABC.NET 3.3, сборка 1627 от 27.01.2018
// Внимание! Если программа не работает, обновите версию!
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);<br> 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