Cerinţa
Să se scrie un program care citeşte de la tastatură un număr natural n şi apoi un şir de n numere naturale şi determină media aritmetică a celor prime.
Date de intrare
Programul citește de la tastatură numărul n, iar apoi n numere naturale.
Date de ieşire
Programul afișează pe ecran numărul M, reprezentând media aritmetică a valorilor prime.
Restricţii şi precizări
0 < n < 1000;
cele n numere citite vor fi mai mici decât 10000;
rezultatul se va afişa cu cel puțin două zecimale exacte;
în toate testele, printre cele n numere va exista cel puțin un număr prim.
Intrare
5
8 7 5 9 11
Ieșire
7.66
Răspunsuri la întrebare
Răspuns de
1
#include <iostream>
#include <iomanip>
using namespace std;
bool prim(int a) {
if (a % 2 == 0)
return false ;
for (int d = 3 ; d * d <= a ; d += 2) {
if (a % d == 0)
return false ;
}
return true ;
}
int main() {
int n, i, j, a, sum = 0, cate = 0 ;
cin >> n ;
for (i = 1 ; i <= n ; ++ i) {
cin >> a ;
if (prim(a) == true)
sum += a, cate ++ ;
}
int rez = (sum * 100) / cate ; /// in loc sa calculez 23 / 3 am facut
///2300 / 3 care da 766, pe care l-am impartit la 100
cout << rez / 100 << "." << rez % 100 ;
return 0 ;
}
Alte întrebări interesante
Matematică,
8 ani în urmă
Limba română,
8 ani în urmă
Limba română,
8 ani în urmă
Engleza,
8 ani în urmă
Matematică,
8 ani în urmă
Ed. tehnologică,
9 ani în urmă