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

Se citesc numere până la întâlnirea primului care NU este prim. Să se afișeze valorile citite care sunt mai mari decât media aritmetică a cifrelor lor.

Răspunsuri la întrebare

Răspuns de geografie88
0

#include <iostream>

#include <cmath>

using namespace std;

bool isPrime(int n) {

if (n <= 1) {

return false;

}

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

if (n % i == 0) {

return false;

}

}

return true;

}

double calcAverage(int n) {

int sum = 0, count = 0;

while (n > 0) {

sum += n % 10;

count++;

n /= 10;

}

return (double)sum / count;

}

int main() {

int n;

double avg;

cin >> n;

while (isPrime(n)) {

avg = calcAverage(n);

if (n > avg) {

cout << n << " ";

}

cin >> n;

}

return 0;

}

Alte întrebări interesante