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

Subprogramul patrate are trei parametri:

• n, prin care primeste un numar natural (nE [2, 1091);

• × si y, prin care furnizeazà câte un numár natural cu proprietatea cã »2 - y?an si 2Sx
prin fiecare dintre acestia, dacã nu existà douà astfel de numere. Dacã sunt mai multe astfel de valori, se

furnizeaza cele corespunzatoare unei valori minime a lui x.

Scrieti definitia completà a subprogramului.

Exemplu: pentru n=400, dupa apel, ×=2 gi y=10, iar pentru n=16 sau n=24, dupá apel, x=0 si y=0.
.

Răspunsuri la întrebare

Răspuns de Mariusel03
2

Răspuns:

void patrate(int n, int *x, int *y)

{

   int ok = 0;

   for(int i = 2; i <= n/2 && !ok; i++)

   {

       for(int j = n/2; j >= 2; j--)

       {

           if (i*i*j*j == n && i != j)

           {

               ok = 1;

               *x = i;

               *y = j;

               break;

           }

       }

   }

   if(ok == 0)

   {

       *x = 0;

       *y = 0;

   }

}

Alte întrebări interesante