# PBinfo #1568 – mediediv – Rezolvare C++

Sursa: Codul lui Andrei
Limbaj: C++
Autor rezolvare: andrei

## Enunț

Cerința
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: 1, 3 si 9. Media aritmetica este 4.33.

## Cod sursă C++

```cpp
#include <iostream>
#include <iomanip>
using namespace std;
int main() {
    int n, temp = 0;
    long long S = 0;
    cin >> n;
    for (int i = 1; i * i <= n; i++) {
        if (n % i == 0) {
            temp++;
            S = S + i;
            if (i * i != n) {
                S = S + n / i;
                temp++;
            }
        }
    } cout << fixed << setprecision(2) << (float) S / temp;
    return 0;
}
```

## Resurse

- [Pagina originală](https://codulluiandrei.ro/rezolvari/pbinfo/1568)
- [Sursa C++](https://codulluiandrei.ro/rezolvari/pbinfo/1568/cod.cpp)
- [Sursa pe GitHub](https://raw.githubusercontent.com/codulluiandrei/pbinfo/main/pbinfo-1568/main.cpp)
- [Cursuri de informatică pentru BAC](https://codulluiandrei.ro/academia/info-curs/pachet-cpp/)
