Informatică, întrebare adresată de LoveChemistry, 9 ani în urmă

Se citesc n numere naturale. Afisati cele mai mari 2numere citite ce sunt numere perfecte

Răspunsuri la întrebare

Răspuns de Utilizator anonim
1
Am considerat ca numar perfect e acel numar care e egal cu suma divizorilor lui, in afara de el insusi, deci sper ca la asta te-ai referit :).
In C++
:
#include <iostream>

using namespace std;

int main()
{
    int n, max1=-1, max2=-1;
    cin >> n;
    for (int i=0; i<n; i++)
    {
        int x; cin >> x;
        int S=0, OK=0;
        for (int j=1; j<=x/2; j++)
            if (x%j==0) S+=j;
        if (S==x) OK=1;
        if (OK&&x>max1)
        {
            max2 = max1;
            max1= x;
        }
        else if (OK && x>max2)
            max2=x;
    }
    cout << max1 << " " << max2;
    return 0;
}

In pseudocod:
intreg n, max1<- -1, max2<- -1
citeste n
pentru i<-1, n executa:
   intreg x, S<-0, OK<-0
   citeste x
   pentru j<-1,x/2 executa:
      daca x%i=0 atunci: S <- S+i
   daca S=x atunci: OK <- 1
   daca OK=1 && x>max1 atunci:
      max2 <- max1
      max1 <- x
   altfel daca OK=1 && x>max2
      max2 <- x
scrie max1, " ", max2


Alte întrebări interesante