Escreva em termos de funções elementares (ou não), em função de n onde n é um inteiro positivo a sequência a seguir.
aₙ = 12345678910111213...n
Ou seja, aₙ é formada por todos os números de 1 até n, de forma que todos eles fiquem lado a lado em ordem crescente.
_____________
Por favor responder de forma detalhada.
adjemir:
Continuando..... só aplicar a recursividade a partir de n = 1, depois para n = 2, depois para n = 3, etc, etc. e finalmente para n = n. E iríamos ter, no fim, todos os números pedidos, que poderiam ser colocados como solicitado: 12345.......n . Mas não sei se essa minha proposição atenderia ao que a sua questão pede. Acho a ideia do Vinicius muito mais consentânea com o que está sendo pedido. Mas fica essa minha ideia pra você avaliar. Um abraço.
Respostas
respondido por:
3
Esse exercício é muito utilizado em computação, e seu algoritmo é facilmente escrito por funções básicas em linguagens de baixo nível, como em C.
Vamos fazer esse algoritmo passo a passo.
A fórmula é geral, então tudo deve ser baseado do número n.
Façamos o seguinte.
Pegaremos um exemplo
n=4 a_n=1234
Um algoritmo para esse exemplo seria
Pega o 1, multiplica por 10^3 isso soma com 2*10^2, dai soma por 3*10^1 e soma com 4*10^0
Os numeros iniciais é a variação de k de 1 a 4 e o expoente de 10 é a variação de k de 0 a 3
Assim:
Vamos pegar um exemplo para n maior que 10
n=13 an=12345678910111213
Primeiramente crie uma função que dê o número de algarismos de um certo número. vamos chamar de N(número), assim
Pegue o número 1 e multiplique por 10^(17-1) (Sendo 17 = N(a_n) e 1 =N(n)) Depois some com 2*10^((17-1)-1) .... Some com 10*10^(17-1)-1)-1)...)-2).
Observe que há uma recursividade do expoente.
O expoente de 10 é da forma:
Sendo k o número que varia na soma original( Os números que estamos pegando na expressão original)
A formula geral utilizando N() é então:
Porém temos dois problemas com essa fórmula.
1. A função N() ainda não está definida em funções matemáticas.
2. Temos o termo N(a_n), que faz uma função que depende do resultado dela própria.
Mas temos soluções interessantes.
1. Para descobrirmos o número de algarismos de um número, podemos utilizar de duas funções matemáticas: As funções log e floor (Em português; Função piso)
Vamos pegar um exemplo para melhor entender.
O número 178. Ele possui 3 algarismos e segue a seguinte relação:
100 < 178 < 1000
10^2 < 178 < 10^3
Para um número n de 5 algarismos:
10^4 ≤ n < 10^5
Para um número n de N algarismos:
10^(N-1) ≤ n < 10^N
Aplicando log em todos os termos, temos:
log(10^(N-1)) ≤ log(n) < log(10^N)
N-1 ≤ log(n) < N
E dessa relação e sabendo que N é um número natural, temos que:
floor(log(n)) = N-1
N = floor(log(n))+1
2. Há como prever a quantidade de algarismos de a_n utilizando uma função mais simples.
Se k variar de 1 a n, é só incrementar o número de algarismos de k
Assim
Agora, finalmente, a fórmula geral de a_n, utilizando funções matemáticas definidas é:
Dúvidas? Comente.
Vamos fazer esse algoritmo passo a passo.
A fórmula é geral, então tudo deve ser baseado do número n.
Façamos o seguinte.
Pegaremos um exemplo
n=4 a_n=1234
Um algoritmo para esse exemplo seria
Pega o 1, multiplica por 10^3 isso soma com 2*10^2, dai soma por 3*10^1 e soma com 4*10^0
Os numeros iniciais é a variação de k de 1 a 4 e o expoente de 10 é a variação de k de 0 a 3
Assim:
Vamos pegar um exemplo para n maior que 10
n=13 an=12345678910111213
Primeiramente crie uma função que dê o número de algarismos de um certo número. vamos chamar de N(número), assim
Pegue o número 1 e multiplique por 10^(17-1) (Sendo 17 = N(a_n) e 1 =N(n)) Depois some com 2*10^((17-1)-1) .... Some com 10*10^(17-1)-1)-1)...)-2).
Observe que há uma recursividade do expoente.
O expoente de 10 é da forma:
Sendo k o número que varia na soma original( Os números que estamos pegando na expressão original)
A formula geral utilizando N() é então:
Porém temos dois problemas com essa fórmula.
1. A função N() ainda não está definida em funções matemáticas.
2. Temos o termo N(a_n), que faz uma função que depende do resultado dela própria.
Mas temos soluções interessantes.
1. Para descobrirmos o número de algarismos de um número, podemos utilizar de duas funções matemáticas: As funções log e floor (Em português; Função piso)
Vamos pegar um exemplo para melhor entender.
O número 178. Ele possui 3 algarismos e segue a seguinte relação:
100 < 178 < 1000
10^2 < 178 < 10^3
Para um número n de 5 algarismos:
10^4 ≤ n < 10^5
Para um número n de N algarismos:
10^(N-1) ≤ n < 10^N
Aplicando log em todos os termos, temos:
log(10^(N-1)) ≤ log(n) < log(10^N)
N-1 ≤ log(n) < N
E dessa relação e sabendo que N é um número natural, temos que:
floor(log(n)) = N-1
N = floor(log(n))+1
2. Há como prever a quantidade de algarismos de a_n utilizando uma função mais simples.
Se k variar de 1 a n, é só incrementar o número de algarismos de k
Assim
Agora, finalmente, a fórmula geral de a_n, utilizando funções matemáticas definidas é:
Dúvidas? Comente.
Perguntas similares
6 anos atrás
6 anos atrás
8 anos atrás
8 anos atrás
8 anos atrás
9 anos atrás
9 anos atrás
9 anos atrás