Program S8;
Var 
    p : integer;
    m : real;
//***********************************
Procedure saisir(Var p:integer);
Begin
    Repeat
        writeln('Donner un entier: ');
        readln(p)
    Until p>0;
End;
//***********************************
Function moyenne_harmonique(p:integer) : real;
Var 
    i,n : integer;
    s : real;
Begin
    writeln('Les diviseurs : ');
    s := 0;
    n := 0;
    For i:=1 To p Do
        If p Mod i =0 Then
            Begin
                writeln(i);
                s := s+1/i;
                n := n+1;
            End;
    m := n/s;
    moyenne_harmonique := m;
End;
//***********************************
Begin
    saisir(p);
    m := moyenne_harmonique(p);
    writeln('moyenne harmonique : ' , m:7:3);
    If trunc(m) = m Then
        writeln('Entier à moyenne harmonique entière')
    Else
        writeln('Entier à moyenne harmonique NON entière');
End.
Inscription à :
Publier les commentaires (Atom)