MedieDiv

Se citeşte de la tastatură un număr natural n. Să se calculeze şi să se afişeze media aritmetică a tuturor divizorilor săi. Media va fi cu fix 2 zecimale dupa virgula.

Date de intrare

Programul citește de la tastatură numărul n.

Date de ieșire

Programul va afișa pe ecran numărul S, reprezentand media aritmetica.

Restricții și precizări

  • 1 ≤ n ≤ 1.000.000

Exemplu

Intrare

9

Ieșire

4.33

Explicație

Divizorii lui 9 sunt: 13 si 9. Media aritmetica este 4.33.

#include <iostream>
#include <iomanip>

using namespace std;

int main()
{
    long long int n,d=1,s=0,cnt=0;
    cin>>n;
    while(d*d<n)
    {
          if(n%d==0)
          {
                cnt++;
                s+=d;
                cnt++;
                s+=n/d;
          }
          d++;
    }
    if(d*d==n)
    {
          cnt++;
          s+=d;
    }
    double a=1;
    a=s/cnt;
    cout<<setprecision(2)<<fixed<<(double)s/cnt;
    return 0;
}
%d bloggers like this: