Public feed
#379664
program partialSums;
uses SysUtils, Math;
const
twoThirds = 2.0 / 3.0;
var
n, code, k: longint;
sum1, sum2, sum3, sum4, sum5, sum6, sum7, sum8, sum9, k2, k3, sink, cosk, a: double;
begin
if paramCount() = 1
then Val (ParamStr (1),n,Code)
else n := 25000;
a := -1.0;
for k := 1 to n do
begin
k2 := k*k;
k3 := k2*k;
sink := sin(k);
cosk := cos(k);
a := -a;
sum1 := sum1 + intpower(twoThirds,k - 1);
sum2 := sum2 + 1.0 /sqrt(k);
sum3 := sum3 + 1.0/(k*(k+1.0));
sum4 := sum4 + 1.0/(k3*(sink*sink));
sum5 := sum5 + 1.0/(k3*(cosk*cosk));
sum6 := sum6 + 1.0/k;
sum7 := sum7 + 1.0/k2;
sum8 := sum8 + a/k;
sum9 := sum9 + a/(k + k - 1.0 );
end;
writeLn(sum1:10:9, #9, '(2/3)^k');
writeLn(sum2:10:9, #9,'k^-0.5');
writeLn(sum3:10:9, #9,'1/k(k+1)');
writeLn(sum4:10:9, #9,'Flint Hills');
writeLn(sum5:10:9, #9,'Cookson Hills');
writeLn(sum6:10:9, #9,'Harmonic');
writeLn(sum7:10:9, #9,'Riemann Zeta');
writeLn(sum8:10:9, #9,'Alternating Harmonic');
writeLn(sum9:10:9, #9,'Gregory');
end.
{
/usr/bin/fpc -XX -Xs -O3p3r -Fi../../Include/fpascal -Fu../../Include/fpascal -I../../Include/fpascal -oFPASCAL_RUN partialsums.pas
PROGRAM OUTPUT
==============
3.000000000 (2/3)^k
3160.817621887 k^-0.5
0.999999600 1/k(k+1)
30.314541510 Flint Hills
42.995233998 Cookson Hills
15.309017155 Harmonic
1.644933667 Riemann Zeta
0.693146981 Alternating Harmonic
0.785398063 Gregory
}