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

Sa se afiseze toate nr perfecte din intervalul a,b. Unde a si b se citesc de la tastatura.

Răspunsuri la întrebare

Răspuns de CinevaFaraNume
3
#include <iostream>
using namespace std;

int sumaDiv(int nr){
int suma = 1;
for(int i = 2; i < nr; i++)
{
if(nr % i == 0)
suma += i;
}
return suma;
}

int main(int argc, char** argv)
{
int a,b;
cin >> a >> b;
for(int i = a; i <= b; i++)
{
if(i == sumaDiv(i))
cout << i;
}
return 0;
}
Răspuns de rossetta
1
#include <iostream>
using namespace std;

int main() {
    int a, b;
    cin >> a >> b;
    for(int i = a; i <= b; i++) {
      int d = 2, s = 1;
      while(d * d < i) {
        if(i % d == 0)
          s = s + d + i / d;
        d++;  
      }
      if(d * d == i)
        s += d;
      if (s == i && i > 1)
        cout << i << " ";
    }
    return 0;
}
Alte întrebări interesante