PiR2
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Como montar um retângulo a partir da área

2 participantes

Ir para baixo

Como montar um retângulo a partir da área Empty Como montar um retângulo a partir da área

Mensagem por tacioa Dom 05 Jul 2015, 10:58

Bom dia, a todos.

Estou criando uma aplicação em que eu recebo uma área de um quadrado. Gostaria de montar um retângulo que mais se aproxime de um quadrado, onde a base e a altura sejam números inteiros.

Por exemplo: 16 seria 4x4 pois se trata de um quadrado perfeito; 24 seria 6X4, pois todas as combinações esta seria opção em que a diferença da base e a altura é menos.

Bem em que passo estou.

para chegar neste valor fiz a fatoração do numero 24(2x2x2x3).

A partir deste ponto ponto fiz dois processos:

- A: Criei dois grupos e fui adicionando os fatores do maior para o menor, sempre ao menor grupo(produto dos elementos). Esta forma nem sempre obtém o retângulo que mais se aproxima do quadrado.
- B: fiz a permutação dos elementos e montei dois grupos e selecionei a opção em que o produtos dos dois tem a menor diferença. Este funciona perfeitamente.

Agora vai a minha dúvida.

O processo B foi escolhido, pois tem o resultado esperado em 100% dos caso, porem estou achando que faz muitos processos e gostaria de saber se existe alguma formula que chegue a este resultado de forma mais simples.

obrigado.

tacioa
Iniciante

Mensagens : 1
Data de inscrição : 05/07/2015
Idade : 37
Localização : Campinas

Ir para o topo Ir para baixo

Como montar um retângulo a partir da área Empty Re: Como montar um retângulo a partir da área

Mensagem por Euclides Dom 05 Jul 2015, 15:37

Primeiro perceba que todas as áreas representadas por quadrados perfeitos gerarão retângulos que são quadrados:

4=2x2
9=3x3
16=4x4
etc

Os demais valores deverão ser representados pelo produto de dois números naturais para poderem constituir retângulos de lados inteiros

A=x(x+1)
A=x(x+2)
..
A=x(x+n)

A,x e n 

a equação geral será

A=x^2+nx\;\;\to\;\;x^2+nx-A=0

para que a equação acima tenha um número natural como solução o seu discriminante deve ser um quadrado perfeito

\Delta=n^2+4A\;\to\;\text{quadrado perfeito}

então o primeiro passo será encontrar o menor valor de n que torne o discriminante um quadrado perfeito e em seguida resolver a equação.

Exemplo: A=48

\Delta=n^2+4\times 48\;\to\;\Delta =n^2+192\;\;\to\;\;n=2

resolvendo a equação

x^2+2x+48=0\;\;\to\;\;x=6\;\text{(valor positivo)}\;\;\to\;\;48=6(6+2)\;\to\;6\times 8

Exemplo: A=117

\Delta=n^2+468\;\;\to\;\;n=4

x^2+4x-117=0\;\;\to\;\;x=9\;\;\to\;\;\;117=9(9+4)\;\to\;9\times 13

____________________________________________
In memoriam - Euclides faleceu na madrugada do dia 3 de Abril de 2018.
assinatura 1
Lembre-se de que os vestibulares têm provas de Português também! Habitue-se a escrever corretamente em qualquer circunstância!

O Universo das coisas que eu não sei é incomensuravelmente maior do que o pacotinho de coisas que eu penso que sei.
Euclides
Euclides
Fundador
 Fundador

Mensagens : 32508
Data de inscrição : 07/07/2009
Idade : 74
Localização : São Paulo - SP

Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos