Dados N azulejos de dimensões 10cm x 10cm. Com eles, você deve montar um conjunto de quadrados de modo a utilizar TODOS os azulejos dados. Inicialmente você deve montar o maior quadrado possível com os azulejos dados; então, com os azulejos que sobraram, você deve montar o maior quadrado possível, e assim sucessivamente. Por exemplo, se forem dados 31 azulejos, o conjunto montado terá quatro quadrados, conforme ilustra a figura abaixo.
Elabore um algoritmo que leia a quantidade de azulejos e retorno quantos quadrados podem ser formados.
![]() |
Entrada
A entrada consiste de um número inteiro N que indica a quantidade total de azulejos.
Saída
Seu programa deve imprimir apenas uma linha contendo um inteiro que indica a quantidade de quadrados que podem ser formadas.
Exemplos
Entrada
100 |
Saída
1 |
Entrada
50 |
Saída
2 |
Entrada
44 |
Saída
3 |
Código em Python
import math n = int(input()) #lê a quantidade de azulejos cont = 0 #armazena a quantidade de quadrados while n > 0: x = int(math.sqrt(n)) n = n - x*x #total de azulejos menos a quantidade #usada para fazer um quadrado cont = cont + 1 print cont
Experimente esse código em: http://www.codeskulptor.org/#user42_uWot6ZXUtI_0.py