Для оптимизации вычислений в подобных случаях нужно составить рекуррентную формулу.
// PascalABC.NET 3.3.5, сборка 1636 от 10.03.2018
// Внимание! Если программа не работает, обновите версию!
begin
var n:=ReadInteger('n=');
var (a,b,c,p):=(1.0,0.0,1.0,1.0);
for var i:=1 to n do begin
a*=2;
b+=i;
c*=i;
p*=a+b/c;
end;
Writeln('П=',p)
end.
Пример
n= 10
П=8.61534647497717E+16
Во вложении показан контрольный пример, выполненный в пакете компьютерной алгебры Maple 15. Результаты полностью совпадают.