Să se scrie algoritmul prin care se determină toate numerele naturale perfecte mai mici decât un număr n introdus de la tastatură. Un număr natural se numeşte număr perfect dacă este egal cu suma divizorilor săi, din care se exclude divizorul egal cu numărul însuşi. Exemplu: 6=1+2+3; 28=1+2+4+7+14. 2

#include <iostream>

using namespace std;

int main() {

    int n;

    cin >> n;

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

        int sum = 0;

        for (int j = 1; j < i; j++) {

            if (i % j == 0) {

                sum += j;

            }

        }

        if (sum == i) {

            cout << i << endl;

        }

    }

    return 0;

}

  1. Inițializăm variabila sum cu valoarea 0.
  2. Parcurgem toate numerele de la 1 până la n-1.
  3. Pentru fiecare număr, verificăm dacă este divizor al lui n. Dacă este, adăugăm numărul la sum.
  4. După ce am parcurs toate numerele, verificăm dacă sum este egal cu n. Dacă este, afișăm numărul.

Similar Posts

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *