Răspuns :
Răspuns:
#include <iostream>
using namespace std;
int main()
{int n, i, pmax=0, v[30];
cout<<"n="; cin>>n; //citesc nr de elemente din vector
for(i=1; i<=n; i++) cin>>v[i] ; //citesc valorile componentelor din vector
for(i=1; i<=n; i++) //iau pe rnd elementele din vector
{int s=0; //pt fiecare initializez var s in care voi calcula suma divizorilor cu 0
for (int d=1; d<=v[i]/2; d++) //parcurg nr pe rand de la 1 la jumatatea nr
if(v[i]%d==0) s=s+d; //daca d e divizorul lui v[i] il adaug pe d la suma s
if(s==v[i] && v[i]>pmax) pmax=v[i]; /*daca nr e egal cu suma div sai (e perfect)
si este mai mare decat cel mai mare nr perfect de pana acum, reactualizez numarul perfect cel mai mare */
}
cout<<"cel mai mare nr perfect este "<< pmax;
return 0;
}
Explicație:
Vă mulțumim pentru vizita pe site-ul nostru dedicat Informatică. Sperăm că informațiile furnizate v-au fost utile. Dacă aveți întrebări suplimentare sau aveți nevoie de ajutor, nu ezitați să ne contactați. Vă așteptăm cu drag și data viitoare! Nu uitați să adăugați site-ul nostru la favorite!