👤

Se dau urmatoarele operatii:
1. Creare patrat de dimensiuni 1 × 1.
2. Extindere patrat deja existent, cu o unitate. De exemplu, daca aplicam operatia de extindere
pe un patrat de dimensiuni A x A, dupa aplicare, patratul va avea dimensiuni (A + 1) x (A + 1).
Citindu-se N si M, numere naturale, afisati numarul minim de operatii pentru a construi un dreptunghi de dimensiuni N x M.
Intrare
7 4
Ieșire
10


Răspuns :

#include <iostream>

using namespace std;

#define min(a,b) (a < b ? a : b)

int minop(int x, int y){

       if(x == 1)

               return y;

       if(y == 1)

               return x;

       int m = min(x,y);

       if(m == x)

               y = y - m;

       else

               x = x - m;

       return m + minop(x,y);

}

int main(){

       int x,y;

       cin >> x >> y;

       cout << minop(x,y);

}

Vă mulțumim pentru vizita pe site-ul nostru dedicat Informatică. Sperăm că informațiile oferite v-au fost de ajutor. Nu ezitați să ne contactați pentru orice întrebare sau dacă aveți nevoie de asistență suplimentară. Vă așteptăm cu drag data viitoare și nu uitați să ne adăugați la favorite!


ID Learners: Alte intrebari