Tiago Madeira Inferências aleatórias de um cérebro em versão alpha

"Só se dedicará a um assunto com toda a seriedade alguém que esteja envolvido de modo imediato e que se ocupe dele com amor. É sempre de tais pessoas, e não dos assalariados, que vêm as grandes descobertas."
(Arthur Schopenhauer)

Desafios Lógicos e Sites

No Orkut, adicionei alguns caras que manjam de algoritmos, lógica, informática, Linux, ER, etc., como por exemplo Aurélio Marinho Jargas, Piter Punk (Roberto Freires Batista), Fábio Dias Moreira e Helder Suzuki. E com isso, pra minha felicidade total, recebi dois desafios lógicos! (destes últimos dois) :D

Permutação

O primeiro é sobre permutação. O Helder leu meu post sobre permutações e sugeriu a criação de um programa que, sem fazer as operações anteriores, determinasse o n-ésimo elemento de uma permutação. Ainda não fiz porque tô atolado de coisas pra fazer, mas pensei que posso descobrir cada letra a partir do seguinte...

Vou supôr que tenho uma cadeia ABC, tamanho=3, letras=3

As permutações seriam feitas na seguinte ordem:

  1. a a a
  2. a a b
  3. a a c
  4. a b a
  5. a b b
  6. a b c
  7. a c a
  8. a c b
  9. a c c
  10. b a a
  11. b a b
  12. b a c
  13. b b a
  14. b b b
  15. b b c
  16. b c a
  17. b c b
  18. b c c
  19. c a a
  20. c a b
  21. c a c
  22. c b a
  23. c b b
  24. c b c
  25. c c a
  26. c c b
  27. c c c

A primeira letra se alterna a cada 9 (3^2) vezes. A segunda a cada 3 (3^1). A terceira 1 (3^0). Portanto, eu acho que consigo descobrir cada uma das letras! Vamos supor que quero o décimo primeiro elemento.

11o. elemento

Está entre 10 e 18 - portanto a primeira letra é B

Está entre 10 e 12 - portanto a segunda letra é A

É 11 - A B C, A B C, A B C, A B!

BAB!

Sabendo disso fica fácil... Demorei pra pensar nisso, mas agora vou escrever o algoritmo, implementar e vencer o desafio! :)

Bom, e além do desafio, o Helder me falou uma coisa que eu achei muito legal! O vestibular do ITA só tem português, inglês, matemática, física e química. Ou seja, as matérias que mais precisaria estudar (biologia principalmente e história e geografia) não existem! emoticon Ultimamente, estive pensando em que universidade vou entrar. Estou na dúvida entre ITA e Unicamp, mas acho que prestarei vestibular para as duas.

MMC/MDC

O segundo desafio foi do Fábio Dias Moreira. Na verdade, não foi bem um desafio, foi uma idéia sobre o post do MMC.

E-mail dele

Eu li o seu post sobre cálculo de MMCs, e acho que você deveria tentar explorar as identidades a seguir:

  • mmc(x, y) * mdc(x, y) = x * y
  • mmc(mmc(x, y), z) = mmc(x, y, z)

Como calcular mdc é uma tarefa simples (já que mdc(x, y) = mdc(x, y % x)), que leva tempo O(log x), a conta mdc(x_1, x_2, ..., x_n) deve levar tempo O(n log x).

Ainda não implementei tudo completamente, mas fiz alguns testes, que publiquei na seção de scripts.

  • mdc.c - Calcula o Máximo Divisor Comum de vários termos
  • mdc-2.c - Calcula o Máximo Divisor Comum entre 2 termos
  • mmc-2.c - Calcula o Mínimo Múltiplo Comum entre 2 termos

Tô chegando lá... Só falta fazer uma função que calcule o MMC dividindo em várias partes e fazendo vários MDCs. :p

Frações Egípcias

Bom, pra fazer eu pensar mais ainda, uma garota de 19 anos chamada Tatiane, que também leu o script do MMC, me enviou alguns e-mails sobre um algoritmo pra transformar frações próprias em frações egípcias. Só que o problema é que não pode usar funções, vetores, quase nada! Só pode usar os tipos char e int, e tem bastante regras que não deixam a pessoa sonhar muito. No fim, não consegui fazer, mas ela fez e parece que funcionou tudo certo. Em outro post, falarei mais sobre isso (depois que entender o algoritmo dela).

Meetweb

Hmmm... Uma empresa de construção de sites chamada MeetWeb me contratou pra programar para um site com um design já construído no Dreamwaver. Estou programando (PHP + Banco de dados MySql) e pretendo acabar em menos de 20 dias. Achei uma boa oferta, mesmo com uma pequena falta de tempo e o site exigir bastante coisinha de JavaScript (que eu não gosto muito - mas tô aproveitando pra aprender mais) e muita coisa repetida (o site é 100% administrável). É sempre bom pegar sites pra fazer, sempre acabo aprendendo mais alguma coisinha e um dinheirinho a mais sempre é bom também!

Site novo do Colégio

Esta semana comecei a fazer um site novo para o Colégio (o Salesiano, onde que eu estudo e trabalho), totalmente administrável também, com código válido e tableless, Flash... Uma coisa bem linda, leve e simples de administrar.

SOSPHP

Pra finalizar, o "meu" fórum, a SOSPHP tá com um movimento um pouco baixo e por isso tô fazendo um movimento para reanimá-lo. Então participem também! Entrem em www.sosphp.com.br e ajudem o fórum a crescer! Estou mandando mensagens para moderadores que estão sem visitar ultimamente, chamando mais gente e pedindo opiniões dos membros para melhorar o fórum (e é claro, pondo as opiniões em prática).

Compare Preços de: notebooks, acer aspire, hp pavilion, computadores, pentium 4, nintendo wii, ps3, celulares, câmeras digitais

Escrito por Tiago Madeira no dia 14/04/2005 às 18h 55min. Acompanhe os comentários via RSS 2.0. Você pode deixar um comentário ou fazer um trackback do seu site.

5 comentários para “Desafios Lógicos e Sites”

  1. #1 | Josette Garcia

    Olá Thiago!
    Desculpe-me o incomodo, mas preciso trocar uma idéia com alguém sobre sites administráveis. Estou tentando viabilizar um serviço, e preciso de uma luz sobre isto.
    Seria muito eu pedir umas dicas para você?
    Fico grata

  2. #2 | Isabela

    Desafio:
    Você vive em uma casa, viaja uma milha para o sul, então uma milha para o leste,
    então uma milha para o norte. Você então volta para sua casa! Onde você vive?
    Qual é a cor do Urso que é o seu vizinho?

    resolve pra mim por favor Tiago?É urgente

  3. #3 | Isabela

    Desafio:
    Você vive em uma casa, viaja uma milha para o sul, então uma milha para o leste,
    então uma milha para o norte. Você então volta para sua casa! Onde você vive?
    Qual é a cor do Urso que é o seu vizinho?

    resolve pra mim Tiago?
    é urgente
    isabela

  4. #4 | Alisson

    Olah Isa… Li seu post e fikei interessado e consegi descobrir… você mora no polo Norte e a cor do Urso do seu vizinho é branco!

    Como Descobri: Pege um “globo” na mão… Posicione o dedo no Pólo Norte, então desca +- 1cm em direção a linha do equador… va com ele 1cm para a eskerda(leste) então suba ele novamente para o norte… Você vai voltar no ponto de partida… ;)~
    pois o Norte da terra é o POLO NORTE… Com um globo na mão se entende mais fácil.

    E poque a Cor?? pois no polo norte vivem os ursos polares, e qual é a cor deles? Branco!
    Abraço

  5. #5 | romeu liborio

    qual a resposta desse algoritmo a empresa anc precisa de um programa para automatizar sua produção de picoles,ao todos são 10 tipos com mais de 30 sabores. a empresa armazena,peso,sabor,nome,validade,recheio,custo,preçofinal e e.1.a.q

    a) mostre o peso e o nome dos picoles com validade superior a 90 dias que tenha custo inferior a R$ 2,50

    b) mostre o picole mais caro e o mais barato produzido pela empresa

    c) mostre o preço final dos picoles com peso superior a 200gr.,sabor ” CEREJA” E recheio ‘TUCUMA”

    d) mostre o nome dos picoles com custos igual a R$ 0,75 sabor “INGA”,validade 60 dias e preço final menor que R$3,5

Deixe um comentário

Dados Pessoais
  • Obrigatório.
  • Obrigatório, não publicado.
Comentário

Artigos relacionados:

Assine via RSS

Assine gratuitamente o meu blog e receba todas as atualizações na hora, em seu agregador de feeds favorito.

Seja o 236º assinante

Busca no blog

Escreva palavras-chave para buscar e clique em Pesquisar.

Busca Google

Blogs de minha autoria

Publicidade

Dreamhost

Creative Commons - Some rights reserved tiagomadeira.net © Todo o conteúdo deste blog, exceto quando especificado o contrário, está licenciado sob uma Licença Creative Commons por Tiago Madeira. Os comentários são de responsabilidade de seus respectivos autores.