Compute the   nth   term of a series,   i.e. the sum of the   n   first terms of the corresponding sequence.

Informally this value, or its limit when   n   tends to infinity, is also called the sum of the series, thus the title of this task.

For this task, use:

 




S

n


=

∑

k
=
1


n




1

k

2






{\displaystyle S_{n}=\sum _{k=1}^{n}{\frac {1}{k^{2}}}}




 and compute   




S

1000




{\displaystyle S_{1000}}




This approximates the   zeta function   for   S=2,   whose exact value

 



ζ
(
2
)
=



π

2


6




{\displaystyle \zeta (2)={\pi ^{2} \over 6}}


is the solution of the Basel problem.




MODULE Sum EXPORTS Main;
 
IMPORT IO, Fmt, Math;
 
VAR sum: LONGREAL := 0.0D0;
 
PROCEDURE F(x: LONGREAL): LONGREAL =
  BEGIN
    RETURN 1.0D0 / Math.pow(x, 2.0D0);
  END F;
 
BEGIN
  FOR i := 1 TO 1000 DO
    sum := sum + F(FLOAT(i, LONGREAL));
  END;
  IO.Put("Sum of F(x) from 1 to 1000 is ");
  IO.Put(Fmt.LongReal(sum));
  IO.Put("\n");
END Sum.