[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Problema Republica Tcheca



Ui, agora que estou vendo que me esqueci de explicar de onde veio esta
fórmula z(n)=n+[n/4]+[n/8]+[n/16]+...
Obrigado por ter explicado!

Mas foi assim mesmo que eu pensei, usando a mesma idéia que Lagrange(foi ele
mesmo?) usou para calcular qual a maior potência de um primo que divide n!

Sobre o chute para 82308, eu fiz bem parecido com você, primeiro calculei
para 82304 ou 82305 e rapidamente cheguei ao meu "chute".

Bruno

-----Mensagem original-----
De: Ralph Costa Teixeira <ralph@mat.puc-rio.br>
Para: obm-l@mat.puc-rio.br <obm-l@mat.puc-rio.br>
Data: Sexta-feira, 20 de Julho de 2001 17:26
Assunto: Re: Problema Republica Tcheca


>>> Seja z(n)=n+[n/4]+[n/8]+[n/16]+...
>
>    Legal sua solução, Bruno. Voce definiu g(n) como "o numero de vezes que
>2 divide n". Então o somatório de g(k) de 1 até n é o número de "2" que
>dividem todos os números de 1 até k, por assim dizer. Você pode calcular
>isso assim: olhe para os números de 1 a k e
>
>    conte 1 para cada número par
>    conte 1 extra para os múltiplos de 4
>    conte 1 mais para os múltiplos de 8
>    ...
>
>    Chegando à sua fórmula:
>
>    SUM(g(k), 1 a n) = [n/2]+[n/4]+[n/8]+...
>
>    Para f(n), adicione uma linha às regras:
>
>    conte 1 para cada ímpar
>
>    EnTão SUM(f(k), 1 a n) = [(n+1)/2]+[n/2]+[n/4]+[n/8]+[n/16]+...
>
>    que corresponde à sua fórmula para z(n) quando n é par.
>
>>> Fazendo umas continhas, vemos que z(82308)=123457
>
>    E aqui, não sei qual método você usou para achar o 82308, mas eu
pensava
>em algo assim para ajudar:
>
>    z(n) <= n + n/4 + n/8 + n/16 + ... = n + n/2 = 3n/2
>
>    Então n >= 2z(n)/3.
>
>    Se z(n)=123457, então n>=2.123457/3 = 82304,???. Assim, n=82305 é um
>ótimo lugar para começar a busca...
>
>    Abraço,
>        Ralph
>
>
>