Фактически требуется вычислить значение следующего выражения:
В связи с ограниченной разрядностью представления целых чисел в традиционном Паскале, используется появившийся в PascalABC.Net 3.0 тип данных BigInteger, имеющий произвольную разрядность.
// PascalABC.NET 3.0, сборка 1144 от 16.01.2016
begin
var n:=ReadInteger('n=');
var s:BigInteger:=0;
for var i:=1 to n do begin
var sp:BigInteger:=1;
for var j:=i to 2*i do sp*=j;
s+=sp
end;
Writeln('S=',s)
end.
Тестовые решения:
n= 10
S=6867491336546
n= 20
S=6790094079076573854634585045346
n= 200
S=16259132945245603272459357532926431055851011262226423901521610672683053074122398284194138200811393508183584635163325580662485661758792994853918852068566553866936403927187322304685846233840511935657079269303199247681681900473643377764171469288217130928626467970695282872799909803648986880297649242631688825602025883316969148173917409343244672476380960595892701641078133125672741993996178795224513183779220724481183819428328185978629676722172834554113541584734035734977004732415721620206280485845346