#116 MediePrime
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.
Exemplu
Intrare
5
8 7 5 9 11
Ieșire
7.66
#include
#include
#include
using namespace std;
bool prim(int n)
{
long long i;
if(n==0 || n==1)
return 0;
for( i=2;i<=sqrt(n);i++)
if(n%i==0)
return 0;
return 1;
}
int main() {
double m = 0,r;
int k = 0, n, t;
cin >> n;
for(int i = 0; i < n; i++) {
cin >> t;
if (prim(t)) {
m += t;
k++;
}
}
m /= k;
cout <
return 0;
}
imi afiseaza 7.67 si nu stiu cum sa fac sa-mi dea precis 7.66
Răspunsuri la întrebare
Răspuns de
1
#include<bits/stdc++.h>
using namespace std;
int nrprim(int x)
{
if(x<=1)
return 0;
if(x%2==0&&x!=2)
return 0;
for(int d=3;d*d<=x;d+=2)
if(x%d==0)
return 0;
return 1;
}
int main()
{
unsigned long long x,n,i,k=0,ap=0;
double q;
cin>>n;
for(i=1;i<=n;i++)
{
cin>>x;
if(nrprim(x))
{
k=k+x;
ap++;
}
}
q=(float)k/ap;
cout<<q-0.01;
return 0;
}
pmarian98:
mersi pt completarea cout<
Alte întrebări interesante
Limba română,
8 ani în urmă
Limba română,
8 ani în urmă
Limba română,
8 ani în urmă
Limba română,
9 ani în urmă
Biologie,
9 ani în urmă