Informatică, întrebare adresată de Utilizator anonim, 8 ani în urmă

Cei care au văzut filmul Nemuritorul, ştiu că fraza cu care nemuritorii încep lupta este “Nu poate să rămână decât unul singur”. Să încercăm să simulăm povestea nemuritorilor.

Într-o zonă dreptunghiulară formată din n linii (numerotate de la 1 la n) şi m coloane (numerotate de la 1 la m) se află maxim n•m-1 nemuritori. Doi nemuritori vecini se “luptă” între ei şi cel care pierde lupta este eliminat. “Lupta” constă în săritura unuia dintre nemuritori peste celălalt, dacă această săritură se poate face. Săritura se poate face pe orizontală sau verticală şi nemuritorul peste care s-a sărit dispare. Prin vecin al nemuritorului din poziţia (i,j) înţelegem un nemuritor din una dintre poziţiile (i-1,j), (i+1,j), (i,j-1), (i,j+1). Deci, după luptă nemuritorul din câmpul (i,j) se va găsi în una dintre poziţiile: (i-2,j), (i+2,j), (i,j-2) sau (i,j+2), dacă această poziţie este liberă şi este în interiorul zonei.

Se cere să se determine o succesiune a luptelor ce pot fi purtate, astfel încât la final să rămână un singur nemuritor.

Răspunsuri la întrebare

Răspuns de Utilizator anonim
1

Răspuns:

#include <iostream>

using namespace std;

int main()

{

   int n1, n2, max;

   cout << "Enter two numbers: ";

   cin >> n1 >> n2;

   

   // maximum value between n1 and n2 is stored in max

   max = (n1 > n2) ? n1 : n2;

   do

   {

       if (max % n1 == 0 && max % n2 == 0)

       {

           cout

<< "LCM = " << max;

           break;

       }

       else

           ++max;

   } while (true);

   

   return 0;

}

Explicație: invata programare

Alte întrebări interesante