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

Am nevoie de ea cât mai repede dacă se poate, mâine trebuie predată..

Anexe:

Răspunsuri la întrebare

Răspuns de boiustef
1

Răspuns:

#include <iostream>

using namespace std;

int sumadiv(int x)

{

   int sd=1, d;

   for (d=2; d*d<x; ++d)

    {

      if (x%d==0)

       { sd+=d; sd+=x/d; }

    }

    if (d*d==x) sd+=d;

    return sd;

}

int main()

{

   int a, b, perechi=0;

   cout << "primele 3 perechi de numere PRIETENE: ";

   for (a=2; a<10000 && perechi!=3; ++a)

   {

       for (b=a+1; b<10000; ++b)

       {

          if (sumadiv(a)==b && sumadiv(b)==a)

          {

              cout << "("<<a<<","<<b<<")  ";

              ++perechi;

          }

       }

   }

   return 0;

}

Explicație:

până la 10000 au fost găsite 5 perechi de numere prietene, dar cum în enunţ se cer 3 perechi am oprit procesul de căutare cu condiţia perechi!=3

Alte întrebări interesante