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

Fie vun șir de n elemente numere întregi. Să se construiască un vector u cusuma cifrelor
elementelor cu proprietatea că sunt perfecte. IN C++


Mghetes: ce inseamna un nr perfect?
Mghetes: patrat perfect? sau are alta proprietate numarul perfect?
amelia112233: Un număr natural se numește perfect dacă el este egal cu suma divizorilor săi mai mici decât el.

Răspunsuri la întrebare

Răspuns de Mghetes
0

Răspuns:

#include <iostream>

#include <cmath>

using namespace std;

int main() {

     int v[100], u[100], n, i, m, s, sd;

    cout <<"n=";

    cin >> n;

   

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

    {

      cout<<"v["<<i<<"]=";

      cin>>v[i];

    }

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

{

    sd = 0; //suma divizorilor

    for(int d = 1; d<= v[i]/2; d++)

        if (v[i] % d == 0)

         sd = sd + d;

         

   if(sd == v[i]) // este nr perfect

   {

       s = 0; // calculam suma cifrelor

       while(v[i] > 0)

       {

        s = s+ v[i] % 10;

        v[i] = v[i] / 10;

       }

   

        //adaugam valoarea lui s in sirul u si incrementam nr de elemente al sirului

       u[m] = s;

       m++;

   }

}

   

for(i = 0; i< m; i++)

   cout<<u[i] << " ";

   return 0;

}

Alte întrebări interesante