Public feed #379664

original with edit and overflows

public text v1 · immutable
Raw Edit
·published 2007-03-03 12:19 UTC
rendered paste body
 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
}