Tutte le sfide
Difficile 0 risolte 0% di accettazione

Taglia un Rettangolo in Quadrati

Trova il minor numero di tagli rettilinei necessari per ottenere solo quadrati.

Ad ogni mossa, scegli un rettangolo e taglialo completamente, parallelamente a un lato, ottenendo così due rettangoli con lati di lunghezza intera positiva. Continua finché ogni pezzo non è un quadrato. I quadrati possono avere dimensioni diverse. Conta i tagli, non i pezzi.

Implementa rectangle_cutting(height, width).

Input

height: L'altezza iniziale del rettangolo.

width: La larghezza iniziale del rettangolo.

Output

Restituisci il numero minimo di tagli.

Vincoli

1 ≤ height, width ≤ 500. Ruotare il rettangolo non cambia la risposta.

Esempi

Esempio 1
Input:
width = 3
height = 2

Output atteso:
expected = 2
Input:
long long width = 3;
long long height = 2;

Output atteso:
long long expected = 2;
Input:
long width = 3;
long height = 2;

Output atteso:
long expected = 2;

Spiegazione

Taglia un quadrato 2 × 2, lasciando un rettangolo 2 × 1. Un altro taglio divide il resto in due quadrati unitari.

Esempio 2
Input:
width = 4
height = 4

Output atteso:
expected = 0
Input:
long long width = 4;
long long height = 4;

Output atteso:
long long expected = 0;
Input:
long width = 4;
long height = 4;

Output atteso:
long expected = 0;

Spiegazione

Il rettangolo iniziale è già un quadrato.

Riferimenti

Questa sfida è adattata per CodeUtility. Segui la traccia e i vincoli sopra.

Impara dagli altri

Soluzioni della community

Nessuna soluzione pubblicata. Risolvi questa sfida per condividere la prima.