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

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