• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

brink@ero

Problema de Geometria

19 mensagens neste tópico

Este problema deixou varios indivíduos da minha turma a pensar durante a época de exames. Ninguem conseguiu (nem eu) encontrar a solução sozinho!!

Por isso vou partilhar este problema com vocês:

Em casa de Timóteo há uma sala rectangular, que tem o chão coberto de quadrados. Um dos lados contém 93 quadrados e o outro 231.

Timóteo traça uma linha recta unindo os dois cantos opostos. Quantos quadrados atravessa essa linha?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Pois... só fiz um simples torema de pitágoras... ou seja, uma resolução à parva... o número que me deu 249,01 é no fundo o comprimento da diagonal em lados de quadrado, mas não o número de quadrado atravessados..

tásse... ;)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

bem eu tambem resolvia da  mesma maneira...inicialmente... mas claro que faltam quadrados...

seja r a medida do lado do quadrado... entao a medida da diagonal do quadrado é (2*r^2)^(1/2)= r*2^(1/2)...

sabemos que a  sala tem 93*r de largura  e 231*r de comprimento... a diagonal mede  249,018*r .

mas entao se fizermos ( 249,018*r/ r ) * (r*2^(1/2))  isto é 249,018*r*2^(1/2)  obtemos o numero de quadrados... isso vai rondar +/- assim por alto uns 280 a 285 quadrado...

bem acho que nao disse disparates...fiz isto a correr..mas ainda vou confirmar...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Não dá pelo teorema de pitágoras... ;)

Por exemplo: Chão de 1000 por 1000, sabe-se que a diagonal atravessa 1000 quadrados!

                      Pelo o teorema de pitágoras n.º de quadrados = 1000 x 2^(1/2)  aprox = 1414!!

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Não dá pelo teorema de pitágoras... :P

Por exemplo: Chão de 1000 por 1000, sabe-se que a diagonal atravessa 1000 quadrados!

                      Pelo o teorema de pitágoras n.º de quadrados = 1000 x 2^(1/2)  aprox = 1414!!

nao!! mentira...nao pode...é que nao pode mesmo... hummm vou pensar...  ;)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

a minha opiniao é 279, k é basicamente o GCD entre 231 e 93 multiplicado por 93. Nao sei se ta certo mas kurtia saber.. Na pior das hipoteses tenh de fazer um prog para os contar um a um..  :eek:

cya []

Ja vi k o meu metodo ta mal... lool... eskecam isto...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Não dá pelo teorema de pitágoras... :D

Por exemplo: Chão de 1000 por 1000, sabe-se que a diagonal atravessa 1000 quadrados!

                      Pelo o teorema de pitágoras n.º de quadrados = 1000 x 2^(1/2)  aprox = 1414!!

nao!! mentira...nao pode...é que nao pode mesmo... hummm vou pensar...  :P

É lógico o que ele disse... da maneira que estás a fazer tofas, e eu que eu inicialmente também fiz, estás a calcular quantos lados de quadrado cabem na diagonal... ora é claro que o valor é grande...

e...não responde ao problema.,.. ;)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

a minha opiniao é 279, k é basicamente o GCD entre 231 e 93 multiplicado por 93. Nao sei se ta certo mas kurtia saber.. Na pior das hipoteses tenh de fazer um prog para os contar um a um..  :eek:

cya []

Ja vi k o meu metodo ta mal... lool... eskecam isto...

Se tentares fazer o programa, talvez encontres a solução ;).

Não desistam... a solução é simples, por isso se surgir uma teoria muito complicada... esqueçam essa teoria!

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

A resposta é 323 ... certo? espero k sim.. eu escrevi a mao a formula pa resolver isto e depois fiz um programa k somava tudo... se tiver certo expliko. ab []

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Tava eu a escrever isto e apareceu:

A resposta é 323 ... certo? espero k sim.. eu escrevi a mao a formula pa resolver isto e depois fiz um programa k somava tudo... se tiver certo expliko. ab []

Eu acho que são 321 quadrados.

A sala é assim:

      __________

93 |                |

      |_________|

          231

Sabemos que num quadrado ou conjunto de quadrado (que formem 1 quadrado) teremos a diagonal a cruzar exactamente nos vértices.

Como 93 e 231 são ambos divisiveis por 3 e por mais nenhum numero (31 é primo), a recta passaria pelos vertices (do rectangulo global) e por dois pontos onde encontraria os vértices comuns dos rectangulos internos (estes rectangulos tem 31x77).

Como 231/93=77/31=2.483871..., a recta passaria por 2 quadrados (na vertical) a cada ~=3 quadrados na horizontal, portanto há 93 destes pontos, mas visto que apenas 93-3 é que correspondem realmente à passagem por dois quadrados, o resultado será 231+90=321.

A explicação não é grande coisa, mas acho que está certo.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Eu acho que são 321 quadrados.

Está certo :cheesy:

Sabemos que num quadrado ou conjunto de quadrado (que formem 1 quadrado) teremos a diagonal a cruzar exactamente nos vértices.

Como 93 e 231 são ambos divisiveis por 3 e por mais nenhum numero (31 é primo), a recta passaria pelos vertices (do rectangulo global) e por dois pontos onde encontraria os vértices comuns dos rectangulos internos (estes rectangulos tem 31x77).

Exactamente, ou seja, o n.º de quadrados que atravessa a diagonal no chão 231 x 93 = 3 x (o n.º de quadrados que atravessa a diagonal no chão 77 x 31)

Como 231/93=77/31=2.483871..., a recta passaria por 2 quadrados (na vertical) a cada ~=3 quadrados na horizontal, portanto há 93 destes pontos, mas visto que apenas 93-3 é que correspondem realmente à passagem por dois quadrados, o resultado será 231+90=321.

Sinceramente, não percebi... :ohwell:

Para ter a certeza e se fosse 256 x 729 :knuppel2: (maximo divisor comum é 1)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

eu nao fiz assim e plos vistos enganeime em 2 quadrados.. o keu fiz foi pegar na equacao da recta y(x) = (93/231)x

e depois para cada quadrado na horizontal intersectei a recta com as 2 linhas verticais k delimitam o quadrado, ie, calculei o y(x) e o y(x+1) para todos os x inteiros entre [0,92], se virem bem vao ver k o numero de quadrados intersectados nessa coluna é a diferenca entre y(x+1) - y(x) se fizerem o tecto e o floor de cada um e fizerem essa diferenca davos o numero de quadrados intersectados nessa coluna. se somarem isso tudo tem os quadrados por onde passa.... agora porque razao me enganei em 2 quadrados n sei.. talvez sejam erros de arredondamento visto k usei floats...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

eu nao fiz assim e plos vistos enganeime em 2 quadrados.. o keu fiz foi pegar na equacao da recta y(x) = (93/231)x

e depois para cada quadrado na horizontal intersectei a recta com as 2 linhas verticais k delimitam o quadrado, ie, calculei o y(x) e o y(x+1) para todos os x inteiros entre [0,92], se virem bem vao ver k o numero de quadrados intersectados nessa coluna é a diferenca entre y(x+1) - y(x) se fizerem o tecto e o floor de cada um e fizerem essa diferenca davos o numero de quadrados intersectados nessa coluna. se somarem isso tudo tem os quadrados por onde passa.... agora porque razao me enganei em 2 quadrados n sei.. talvez sejam erros de arredondamento visto k usei floats...

Deixa-me ver se compreendi bem.

Dividiste um chão em 231 colunas e calculaste em cada coluna quantos quadrados intersectava, certo?

E a fórmula que usaste foi y(x-1) - y(x) para calcular o n.º de quadrados em cada coluna, certo?

Bem, isso não é verdade, porque imagina que para um determinado x dá y(x+1)=10.5 e y(x)=9.5, logo y(x+1)-y(x)=1 quadrado, mas na verdade são dois!

Acho que é ai que falhou os 2 quadrados...

A solução é simples, a ideia das colunas é boa, agora o n.º de quadrados em cada coluna não é assim (caso eu tenha intendido bem...).

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

a ideia e essa mas eu explikeime mal, falta ai o chao( y(x) ) e o tecto( y(x+1) ) k sao funcoes k arredondam para o inteiro mais proximo para baixo ou para cima correspondentemente, nesse casso daria tecto(10.5)=11 ; chao( 9,5) =9  e portanto 11-9 =2

isto funciona porke mesmo no caso de ser so um kuadrado, digamos 9,1 e 9,8 o primeiro aplikase o chao dá 9 , o outro aplicase o tecto dá 10 e a diferenca é como seria de esperar 1...

eu explikeime mal, mas foi isso k fiz num ciclo FOR a kalkular o somatorio ;)

Alias esta tao certo k de facto vi agora k eram erros de arredondamento como suspeitava. mudei tudo o k era floats para doubles e deume 321 . Este metodo nao e propriamente o mais eficiente mas e o mais interessante do ponto de vista de programacao (digo eu) ... ta aki o codigo em C...


#include <stdio.h>
#include <stdlib.h>
#include <math.h>

int contaQuads(int larg,int alt){
	double declive;
	double temp=0;
	int i;

	declive=(double)alt/(double)larg;

	for(i=0 ; i<larg ; i++){
		temp+=  ceil( ((declive*((double)(i+1))) ) - floor( (declive*(double)i)) ) ;
	}
return (int)temp;		
}



int main(){

    printf("%d\n",contaQuads(231,93));
    system("PAUSE");
    return 0;
}

cya later []

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Na minha resolução recorri apenas a lógica e fiz tudo mentalmente.

Eu sei que há pelo menos 231 quadrados, mais um quadrado extra por cada ponto onde a diagonal intercepta a horizontal (y= um numero inteiro, i=1,2,3,...93), sendo que para esse ponto o numero correpondente na linha dos x seria um valor irracional. Como os dois numeros são ambos divisiveis por 3 e por mais nenhum numero (para além do 1, o que dá em nada), existem 3 pontos (para além de (0,93) claro) onde uma horizontal num numero inteiro de y resulta num x tb inteiro. São os pontos: (77,62), (154,31) e (231,0).

Acho que não se continua a perceber... mas eu também não quero ser prof de matemática ;)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Acho que não se continua a perceber... mas eu também não quero ser prof de matemática :P

pois..eu tambem nao kero...gosto muito de math, mas axo k se fosse dar aulas o ppl sofria mto comigo...lolol sou mto exigente...  :(

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Acho que não se continua a perceber... mas eu também não quero ser prof de matemática :P

pois..eu tambem nao kero...gosto muito de math, mas axo k se fosse dar aulas o ppl sofria mto comigo...lolol sou mto exigente...  :(

Bem, eu desde novo era 'om' em matemática.

Por isso todos iam ter comigo para eu explicar as coisas.

Então ganhei uma aptidão para explicar (sou explicador de disciplinas de matemática).

A capacidade de explicar permite que os outros entendam o teu raciocínio.

Então fica aqui a solução:

Depois de efectuar a divisão pelo máximo divisor comum (3), obtemos que:

    o n.º de quadrados que a diagonal atravessa em 231 x 91 = 3 x (n.º de quadrados que a diagonal atravessa em 77 x 31

Agora sigamos a linha recta de um canto ao outro. Verifica-se que atingimos sempre um novo quadrado cada vez que atravessa uma aresta (linha vertical ou hrizontal).

Mas é conveniente não contar duas vezes os quadrados atingidos por um canto, em que a linha atravessa o mesmo tempo uma linha vertical e uma linha horizontal.

Então como existem 77 + 31 linhas e partindo de um canto só encontramos outro no fim da linha diagonal, porque dividos pelo máximo divisor comum!

Logo,

    o n.º de quadrados que a diagonal atravessa em 231 x 91 = 3 x (77 + 31 - 1) = 321 quadrados

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora