Informatică, întrebare adresată de JolieJulie, 8 ani în urmă

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 dintre ele.

5
8 7 5 9 11
Ieșire

7.66

Răspunsuri la întrebare

Răspuns de OmuBacovian
2

#include <iostream>

#include <cmath>

using namespace std;

int prim(int n)

{

   if(n==0 || n==1)

       return 0;

   for(int i=2;i<=sqrt(n);i++)

       if(n%i==0)

          return 0;

   return 1;

}

int main()

{

   int n,s=0,x,ct=0;

   cin>>n;

   for(int i=0;i<n;i++)

   {

       cin>>x;

       if(prim(x)==1)

       {

           ct++;

           s+=x;

       }

   }

   double medie=(double)s/ct;

   medie*=100;

   medie=(int)medie;

   medie/=100;

   cout<<medie;

   return 0;

}



OmuBacovian: cred ca voiai media cu doua zecimale , in fine , nu am mai verificat daca exista numere prime ca sa nu avem impartire la 0.
Răspuns de GabiAlex99
1

#include<iostream>

using namespace std;

int main()

{

int n, nr, prim, i, div;

float suma=0, nrprim=0, M;

cin>>n;

for(i=1;i<=n;i++)

{

cin>>nr;

prim=1;

for(div=2;div*div<=nr;div++)

if(nr%div==0) prim=0;

if(nr<2) prim=0;

if(prim==1) { suma=suma+nr; nrprim=nrprim+1; }

}

M=suma/nrprim;

cout<<M;

}

Alte întrebări interesante