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)

De volta à resolução de problemas



Resultado do Superprime Rib

Hoje, depois de umas férias de dois meses, resolvi um problema lógico do USACO Training Gateway: o Superprime Rib é um problema bem simples em que precisa-se determinar os primos de N dígitos (com N máximo = 8 ) que, tirando o último dígito, continuam sendo primos. A solução é trivial, uma função recursiva bastante simples que se auto-explica no meu código, que está disponível aqui. O problema passou de segunda porque na primeira, por falta de hábito, eu tinha colocado scanf e printf ao invés de usar o sistema da USACO onde deve-se usar arquivos de entrada e saída.

Agora para eu ir para a seção 2 do USACO Training Gateway falta só o programa Checker Challenge, que parece ser complicado.

Instalei os pacotes do Slackware 10.2, que saiu essa semana, no laptop. Não tem nenhuma grande mudança, mas é sempre bom estar com os programas atualizados...

O Paulo Matias (Thotypous) me convidou para fazer parte da equipe de desenvolvimento da distro Guaranix, consertando alguns bugs do XDirectFB (que eu citei aqui). Acho que irei pegar um trabalho com a Meetweb também (o Hugo Dias, para quem eu fiz o serviço da Coalizão Antituberculose me convidou) e estou acabando o site do Colégio Salesiano, que é totalmente administrável em PHP e usa um banco de dados MySql. Ele deve sair semana que vem...

Dia 24 é a segunda fase da Olimpíada Regional de Matemática. Essa semana fiz a folhinha de treinamento e dos seis problemas, consegui fazer cinco (na verdade, alguns problemas - ou todos - eram repetidos do ano anterior e por isso fica mais fácil, porque eu já lembrava o caminho).

Compare Preços de: iPod, home theater, plasma, lcd, câmeras digitais, games, ps3

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

4 comentários para “De volta à resolução de problemas”

  1. #1 | mathematician

    Hi!
    Can you send me the solution of superprime_rib [N] solution untill thursday, in english please.
    Thanks for your help

  2. #2 | Tiago Madeira

    Hey…

    I used a simple recursive function. The solution, implemented in C, is here: sprime.c

    The logic is the following:
    1. The function receives “n”.
    2. If n is greater than 1, we do function(n-1)
    3. If n=1, we just return the four only primes with one digit: 2, 3, 5 and 7.
    4. We have an array called cont, that keep the value of numbers with each number of digits (its index).
    5. After do function(n-1), when n is greater than 1, I do the following loop:

    for i=0 until cont[n-1]; do
    for j=1 until 9, increasing 2; do
    num=prime[n-1][i]*10+j;
    if (is_prime(num)) {
    prime[n][cont[n]++]=num;
    }
    }
    }

    This function, only make num=prime[n-1][i]*10+j, where prime[n-1][i] is a prime with less one algarism and we do it times 10 because we are on decimal system. We do plus “j” because “j” is a odd value that can be the unit of a prime.

    So, we formed all the primes with each n. :)

    Understood? Sorry my bad english, i’m trying to improve it… lol

    Any problem, answer me!

  3. #3 | mathematician

    thanks for your interest.
    sorry i forgot to tell you;
    is it in C++ or in C?
    i’m realy bad in this lesson i canT understand the difference between them.
    i need C programming.
    again thanks for your help.
    (my english is not good too no matter:))

  4. #4 | Tiago Madeira

    It’s implemented in ANSI C. :)

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 231º 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.