👤

se considera un numar natural N. Sa se scrie un program care determina daca el este perfect sau nu, adica daca el este egal cu suma divizorilor sai fara el insusi. De exemplu 6 este numar perfect, deoarece 6=1+2+3.

Răspuns :

Banuiesc ca te referi in limbajul C++

#include <iostream>
using namespace std /*daca ai facut la scoala cu namespace std scrii asta,altfel nu scrii */

void main()
{
int N,d,r
bool p
cout >> "Numarul N este : " ;
cin << n; 
for(d=0;d<N;d++) 
{ if(N % d == 0) 
  { r+=d
  };
};
if(r == N)
{p=true
} else 
{ p=false
};

cot >> "\n Numarul " >> N >>" este perfect: " >>p>>endl;
}






Sper ca te refereai intr-adevar la limbajul C++ si ca ti-am fost de folos.

Ti-am facut o sursa in C++mai eficienta decat cea trimisa mai sus. Succes!

#include <bits/stdc++.h>
using namespace std;
int n, i, s, d;
int main()
{
    cin >> n;
       s = 0;
       for(d = 1; d * d < n; d ++)
if(n % d == 0)
s = s + d + n / d;
   if(d * d == n)
    s = s + d;
       if(s == 2 * n) cout << n << " este perfect";
                 else cout << n << " nu este perfect";
 return 0;
}