Task[edit]
Compute all three of the Pythagorean means of the set of integers 1 through 10 (inclusive).

Show that 



A
(

x

1


,
…
,

x

n


)
≥
G
(

x

1


,
…
,

x

n


)
≥
H
(

x

1


,
…
,

x

n


)


{\displaystyle A(x_{1},\ldots ,x_{n})\geq G(x_{1},\ldots ,x_{n})\geq H(x_{1},\ldots ,x_{n})}

 for this set of positive integers.

 The most common of the three means, the arithmetic mean, is the sum of the list divided by its length:
 



A
(

x

1


,
…
,

x

n


)
=




x

1


+
⋯
+

x

n



n




{\displaystyle A(x_{1},\ldots ,x_{n})={\frac {x_{1}+\cdots +x_{n}}{n}}}


 The geometric mean is the 



n


{\displaystyle n}

th root of the product of the list:
 



G
(

x

1


,
…
,

x

n


)
=




x

1


⋯

x

n




n





{\displaystyle G(x_{1},\ldots ,x_{n})={\sqrt[{n}]{x_{1}\cdots x_{n}}}}


 The harmonic mean is 



n


{\displaystyle n}

 divided by the sum of the reciprocal of each item in the list:
 



H
(

x

1


,
…
,

x

n


)
=


n



1

x

1




+
⋯
+


1

x

n









{\displaystyle H(x_{1},\ldots ,x_{n})={\frac {n}{{\frac {1}{x_{1}}}+\cdots +{\frac {1}{x_{n}}}}}}




See also
Tasks for calculating statistical measures



in one go
moving (sliding window)
moving (cumulative)

Mean
Arithmetic

Statistics/Basic
Averages/Arithmetic mean
Averages/Pythagorean means


Averages/Simple moving average




Geometric

Averages/Pythagorean means




Harmonic

Averages/Pythagorean means




Quadratic

Averages/Root mean square




Circular

Averages/Mean angle
Averages/Mean time of day




Median

Averages/Median




Mode

Averages/Mode




Standard deviation

Statistics/Basic



Cumulative standard deviation






begin
    % returns the arithmetic mean of the elements of n from lo to hi %
    real procedure arithmeticMean ( real array n ( * ); integer value lo, hi ) ;
    begin
        real sum;
        sum := 0;
        for i := lo until hi do sum := sum + n( i );
        sum / ( 1 + ( hi - lo ) )
    end arithmeticMean ;
    % returns the geometric mean of the elements of n from lo to hi %
    real procedure geometricMean ( real array n ( * ); integer value lo, hi ) ;
    begin
        real product;
        product := 1;
        for i := lo until hi do product := product * n( i );
        exp( ln( product ) / ( 1 + ( hi - lo ) ) )
    end geometricMean ;
    % returns the harminic mean of the elements of n from lo to hi %
    real procedure harmonicMean ( real array n ( * ); integer value lo, hi ) ;
    begin
        real sum;
        sum := 0;
        for i := lo until hi do sum := sum + ( 1 / n( i ) );
        ( 1 + ( hi - lo ) ) / sum
    end harmonicMean ;
 
    real array v ( 1 :: 10 );
    for i := 1 until 10 do v( i ) := i;
 
    r_w := 10; r_d := 5; r_format := "A"; s_w := 0; % set output format %
 
    write( "Arithmetic mean: ", arithmeticMean( v, 1, 10 ) );
    write( "Geometric  mean: ",  geometricMean( v, 1, 10 ) );
    write( "Harmonic   mean: ",   harmonicMean( v, 1, 10 ) )
 
end.