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

Un număr natural se numește perfect dacă el este egal cu suma divizorilor săi mai mici decât el. De ex
28 este un număr perfect pentru că 28=1+2+4+7+14. Să se determine toate numerele perfecte mai mici decât
un număr dat (de exemplu: 10000).
( IN C++)

Răspunsuri la întrebare

Răspuns de Sergetec
0

Salut!

Ai rezolvarea in limbaj C++ mai jos

#include <iostream>

using namespace std;

int perfect(int n)

{

int s = 0;

for (int i = 1; i <= n / 2; i++)

{

  if (n % i == 0)

  {

    s += i;

  }

}

if (s == n)

{

  return s;

}

else

 {

  return 0;

}

}

int main()

{

int n, s = 0;

cin >> n;

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

{

  if (perfect(i))

  {

    cout << i << " ";

  }

}

return 0;

}

Alte întrebări interesante