346
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
.
#include <bits/stdc++.h> using namespace std; int main() { int n; cin >> n; int cnt=0; long long sumaDiv = 0; for (int d = 1; d * d <= n; ++d) if (n % d == 0) { cnt++; sumaDiv += d; if (d * d != n) {sumaDiv += n / d; cnt++;} } cout << fixed << setprecision(2)<< (float)sumaDiv/cnt; return 0; }
Comentarii