Răspuns :
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
int x, numarPrime = 0, sumaPrime = 0;
while(cin>>x && x!=0){
// verificam daca x este prim
int OK = 1;
if(x % 2 == 0 or x < 3) { // singurul numar prim divizibil cu 2 si mai mic ca 3 este numarul 2
OK = (x == 2); // OK ia valoarea 1 daca x este egal cu 2, respectiv 0 in caz contrar
}
else {
// pentru a determina eficient daca un numar este prim, este de ajuns sa mergem de la 3 pana
// la radical din numar, din 2 in 2
int d = 3, radical = sqrt(x);
while(d <= radical and OK == 1) {
if(x % d == 0) {
OK = 0; // x nu este prim
}
else {
d += 2; // incrementam d cu 2 unitati
}
}
}
if(OK == 1) { // x este prim
numarPrime++;
sumaPrime += x;
}
}
cout <<(double) sumaPrime / numarPrime;
return 0;
}
//ti-am pus rezultatul precis
Vă mulțumim că ați ales să vizitați site-ul nostru dedicat Informatică. Sperăm că informațiile prezentate v-au fost utile. Dacă aveți alte întrebări sau aveți nevoie de asistență suplimentară, nu ezitați să ne contactați. Vă așteptăm cu drag să reveniți și nu uitați să ne salvați în lista de favorite!