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

Se citesc pe rand n numere naturale. Calculati media aritmetica a acelor valori din cele citite cu proprietatea ca sunt egale cu suma divizorilor lor, mai putin el.
dau coroana, cu explicatie va rog ​

Răspunsuri la întrebare

Răspuns de Sergetec
1

Salut!

Ai rezolvarea in C++ mai jos

#include <iostream>

using namespace std;

int main() {

   int n, s = 0, cnt = 0;

   cin >> n;

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

       int x;

       //Citesc cele n numere

       cin >> x;

       int s2 = 0;

       //Verific daca numarul respecta cerinta

       for (int j = 1; j < x; ++j) {

          //Daca j este divizor al lui x

           if (x % j == 0) {

               s2 += j;

           }

       }

      //Daca respecta cerinta atunci il adaug in s si crestem cnt cu 1

       if (s2 == x) {

           s += x;

           cnt++;

       }

   }

   //Afisez media aritmetica

   cout << s/cnt;

   return 0;

}


alinetare2005: nu prea am înțeles, dar mersi oricum
Alte întrebări interesante