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
