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

Să se scrie un program care citește de la tastatură un număr N natural, apoi citește cele N elemente ale unui șir de numere naturale. Programul va calcula și afișa media aritmetică a numerelor prime ale șirului, respectiv media aritmetică a numerelor pare.

Răspunsuri la întrebare

Răspuns de Utilizator anonim
2
#include <iostream>

using namespace std;

int main()
{
    int n, nrPrime=0, nrPare=0, sPrime=0, sPare=0;
    cin >> n;
    for (int i=0; i<n; i++)
    {
        int x; cin >> x;
        if (x%2==0)
        {
            nrPare++;
            sPare += x;
        }
        else
        {
            int OK=1;
            if (x<2) OK=0;
            else if (x==2) OK=1;
            else
                for (int i=2; i*i<=x && OK; i++)
                    if (x%i==0) OK=0;
            if (OK)
            {
                nrPrime++;
                sPrime+=x;
            }
        }
    }
    cout << "mA pare: " << sPare/nrPare << "\n" <<
            "mA prime: " << sPrime/nrPrime;
    return 0;
}

Alte întrebări interesante