Fie vun șir de n elemente numere întregi. Să se construiască un vector u cusuma cifrelor
elementelor cu proprietatea că sunt perfecte. IN C++
Răspunsuri la întrebare
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;
}