#include <stdio.h>
double series(unsigned int n)
{
double term = 1.0, sum = 1.0;
for(unsigned int k = 2; k <= n; ++k)
{
double a = k - 3. + (3.*k+1.)/(k*k+1.);
sum += term *= a*a/k;
}
return sum;
}
int main()
{
for(unsigned int n = 1; n <= 7; ++n)
printf("%u: %.12lf\n",n
,series
(n
)); }
I2luY2x1ZGUgPHN0ZGlvLmg+Cgpkb3VibGUgc2VyaWVzKHVuc2lnbmVkIGludCBuKQp7CiAgICBkb3VibGUgdGVybSA9IDEuMCwgc3VtID0gMS4wOwogICAgZm9yKHVuc2lnbmVkIGludCBrID0gMjsgayA8PSBuOyArK2spCiAgICB7CiAgICAgICAgZG91YmxlIGEgPSBrIC0gMy4gKyAoMy4qaysxLikvKGsqaysxLik7CiAgICAgICAgc3VtICs9IHRlcm0gKj0gYSphL2s7CiAgICB9CiAgICByZXR1cm4gc3VtOwp9CgppbnQgbWFpbigpCnsKICAgIGZvcih1bnNpZ25lZCBpbnQgbiA9IDE7IG4gPD0gNzsgKytuKQogICAgICAgIHByaW50ZigiJXU6ICUuMTJsZlxuIixuLHNlcmllcyhuKSk7Cn0K