[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Fila de Números (verao mais completa)
Caro Rubens,
o maior numero de n algarismos e' 10^n - 1, e o menor numero de n algarismos
e' 10^(n-1), incluindo esses dois numeros temos [(10^n - 1) - 10^(n-1)] + 1
= 10^n - 10^(n-1) = (10 - 1)*10^(n-1) = 9*10^(n-1) numeros com n algarismos.
Chamemos K(n) a funccao que denota o numero de algarismos que contem todos
os numeros de n algarismos, o que resulta K(n) = n*9*10^(n-1). Se queremos
descobrir a posiccao de um determinado numero M (com 10^(N-1) <= M < 10^n,
ou seja, M tem N algarismos), na sua fila de numeros, e sabemos que ha (M -
10^(N-1)) numeros, menores do que M, com N algarismos. Temos que
P(M) = K(1) + ... + K(N-1) + N*(M - 10^(N-1)) + 1 'acrescento 1, por
que nao existe 0-esima posiccao
A soma K(1) + ... + K(N-1) resulta em N*10^(N-1) - (10^N - 1)/9 (mais
detalhes de como calcular essa formula, veja * ), donde temos:
P(M) = N*10^(N-1) - (10^N - 1)/9 + N*(M - 10^(N-1)) + 1
Em particular N = floor( log(M)/log(10) ) + 1, onde floor é a função menor
inteiro.
Vemos que:
P(1) = 1
P(10) = 10
P(100) = 190
P(1000) = 2890
Portanto, N=3, e:
P(M) deve ser o menor ou igual a 1264, e P(M+1) deve ser maior.
P(M) = - 110 + 3M (lembrando que M tem 3 algarismos)
Se -110 + 3M = 1264, teriamos M = 458, logo P(458) = 1264, e temos o
algarismo 4 na 1264a. posiccao.
* A soma dos K's e' similar a soma S = q^0 + 2*q^1 + 3*q^2 + ... n*q^(n-1),
um modo de achar uma formula para essa soma eh reescreve-la da seguinte
forma (chame T = q^0 + ... + q^(n-1) ):
S = q^0 + q^1 + ... + q^(n-1)
+ q^1 + ... + q^(n-1)
...
+ q^(n-1)
= T
+ T - q^0
+ T - q^0 - q^1
+ ...
+ T - q^0 - q^1 - ... - q^(n-2)
= n*T - [ (q^1 - 1)/(q - 1) + (q^2 - 1)/(q-1) + ... + (q^(n-1) - 1)/(q -
1) ]
= n*T - 1/(q - 1) * [ T - q^0 - (n-1) ]
= n*T - (T - n)/(q - 1)
Ja que temos a formula de T = (q^n - 1)/(q - 1), com alguma manipulaccao
chegamos a uma formula para S.
Muito obrigado!
Eduardo Casagrande Stabel.
De: Rubens
Para: obm-l@mat.puc-rio.br
Caros Amigos,
Me ajudem neste problema:
" Escrevendo a seqüência de números Naturais, sem separar os algarismos
1234567891011121314151617181920212223242526... Encontar o algarismo que
ocupa o 1264º lugar.
Desde já obrigado.
Rubens