Fórum de Matemática
DÚVIDAS? Nós respondemos!

Um Fórum em Português dedicado à Matemática
Data/Hora: 19 abr 2024, 17:34

Os Horários são TMG [ DST ]




Fazer Nova Pergunta Responder a este Tópico  [ 10 mensagens ] 
Autor Mensagem
MensagemEnviado: 25 jul 2016, 14:24 
Offline

Registado: 25 jul 2016, 14:08
Mensagens: 7
Localização: São Paulo
Agradeceu: 0 vez(es)
Foi agradecido: 0 vez(es)
Tenho uma série formada com números que tem dois bits 1 apenas em suas representações binárias:
[3,5,6,9,10,17,18,20,24,33,34,36,40 ...] e observei que a partir de seu quarto elemento do desenvolvimento
para essa série é (^ simbolo de potência):
9 = 2 ^ 0 + 2 ^ 3
10 = 2 ^ 1 + 2 ^ 3
12 = 2 ^ 2 + 2 ^ 3
17 = 2 ^ 0 + 2 ^ 4
18 = 2 ^ 1 + 2 ^ 4
20 = 2 ^ 2 + 2 ^ 4
24 = 2 ^ 3 + 2 ^ 4
33 = 2 ^ 0 + 2 ^ 5
34 = 2 ^ 2 ^ 1 + 5
36 = 2 ^ 2 + 2 ^ 5
40 = 2 ^ 3 + 2 ^ 5
48 = 2 ^ 2 ^ 4 + 5
........... E continua com a mesma regra infinitamente.

Eu preciso obter uma função de termo geral para essa série e soma dos termos acima para um determinado Nth termo.
Alguém pode me ajudar com isso?


Topo
 Perfil  
 
MensagemEnviado: 25 jul 2016, 15:57 
Offline

Registado: 19 Oct 2015, 13:34
Mensagens: 929
Localização: Rio de Janeiro
Agradeceu: 9 vezes
Foi agradecido: 274 vezes
se, n=ímpar
\(n=2^0+2^y\)

se, n=par
\(n=2^{(1,2,3,...)}+2^y\)

_________________
Vivemos em um mundo onde toda informação é falsa até que se prove o contrário.
A Verdade está a caminho.


Topo
 Perfil  
 
MensagemEnviado: 25 jul 2016, 16:41 
Offline

Registado: 25 jul 2016, 14:08
Mensagens: 7
Localização: São Paulo
Agradeceu: 0 vez(es)
Foi agradecido: 0 vez(es)
jorgeluis Escreveu:
se, n=ímpar
\(n=2^0+2^y\)

se, n=par
\(n=2^{(1,2,3,...)}+2^y\)


Sobre a sua resposta não sei se a pergunta foi clara ou se eu não entendí sua resposta, mas, infelizmente não atende aos requisitos da questão.
O detalhe é que não se sabe quem é impar e quem é par porque é pela posição do elemento Nth significa a enésima posição do elemento.
Exemplo: F(4)=9, F(5)=10, F(6)=17...
Neste caso realmente não entendí sua explicaçãoaté porque não se sabe quem é par nem impar nesta séria até que vc desenvolva a série até
o número que deseja.
Se eu pedisse a posição 10000000111 eu teria de calcular a resposta para esta posição específica sem saber se trata de par ou ímpar.
Um outro detalhe da questão é o desenvolvimento da soma dos termos que é outra incógnita.
Esta questão é para pensar um pouco mesmo e aplicar um pouco Indução Matemática do qual eu realmente estou um pouco enferrujado, mas,
conheço bem os conceitos por trás.
Se puder explique como você imaginou esta resposta de repente pode ajudar a elocubrar uma solução definitiva.
Qualquer palpite mais acertivo da compreenção da questão poderá ajudar.

Só agradeço pela resposta,
Josenildo Silva


Topo
 Perfil  
 
MensagemEnviado: 25 jul 2016, 16:49 
Offline

Registado: 25 jul 2016, 14:08
Mensagens: 7
Localização: São Paulo
Agradeceu: 0 vez(es)
Foi agradecido: 0 vez(es)
jorgeluis Escreveu:
se, n=ímpar
\(n=2^0+2^y\)

se, n=par
\(n=2^{(1,2,3,...)}+2^y\)


Outro detalhe qiue estou tentando corrigir e não consigo é que nos termos formados há um erro nos últimos elementos na descrição do problema cuja correta sequência é essa:
9 = 2 ^ 0 + 2 ^ 3
10 = 2 ^ 1 + 2 ^ 3
12 = 2 ^ 2 + 2 ^ 3
17 = 2 ^ 0 + 2 ^ 4
18 = 2 ^ 1 + 2 ^ 4
20 = 2 ^ 2 + 2 ^ 4
24 = 2 ^ 3 + 2 ^ 4
33 = 2 ^ 0 + 2 ^ 5
34 = 2 ^ 1 + 2 ^ 5
36 = 2 ^ 2 + 2 ^ 5
40 = 2 ^ 3 + 2 ^ 5
48 = 2 ^ 4 + 2 ^ 5


Topo
 Perfil  
 
MensagemEnviado: 25 jul 2016, 19:24 
Offline

Registado: 19 Oct 2015, 13:34
Mensagens: 929
Localização: Rio de Janeiro
Agradeceu: 9 vezes
Foi agradecido: 274 vezes
josenildo,
entendi agora. realmente, é difícil criar uma função com essa sequência, sem uma razao constante, mas vou deixar uma tabela, pra auxiliar os tentantes:


Anexos:
tabela.png
tabela.png [ 10.41 KiB | Visualizado 3064 vezes ]

_________________
Vivemos em um mundo onde toda informação é falsa até que se prove o contrário.
A Verdade está a caminho.
Topo
 Perfil  
 
MensagemEnviado: 25 jul 2016, 20:32 
Offline

Registado: 25 jul 2016, 14:08
Mensagens: 7
Localização: São Paulo
Agradeceu: 0 vez(es)
Foi agradecido: 0 vez(es)
jorgeluis Escreveu:
josenildo,
entendi agora. realmente, é difícil criar uma função com essa sequência, sem uma razao constante, mas vou deixar uma tabela, pra auxiliar os tentantes:


Sobre a tabela eu agradeço porque ficou mais visual a questão.

A soma...
Olhe isso...
A série é formada de partições e estas por sua vez seguem uma continuidade em cada partição se você olhar a Soma pode ser identificada desta forma:
S(n) = (n-1)x2^(n-1) + 2^(n-1) isso dá a soma parcial de cada partição. Exemplo: Quando você busca o 4th elemento ele é o 9, mas,
pela tabela você percebe a repetição do 2^3 para os próximos 2 números, ou seja cada partição é formada de n-1 elementos a partir do elemento da 4th
posição e compõe por sí só um substrato da série cuja soma é dada por esta fórmula acima. Pelo menos está indo...rs rs rs quanto tempo vai demorar dependerá
apenas de alguém já ter feito algo parecido, mas, vou continuar pensando como resolver isto e esperar alguém mais dar uma luz melhor.


Topo
 Perfil  
 
MensagemEnviado: 25 jul 2016, 20:32 
Offline

Registado: 25 jul 2016, 14:08
Mensagens: 7
Localização: São Paulo
Agradeceu: 0 vez(es)
Foi agradecido: 0 vez(es)
josenildo.silva Escreveu:
jorgeluis Escreveu:
josenildo,
entendi agora. realmente, é difícil criar uma função com essa sequência, sem uma razao constante, mas vou deixar uma tabela, pra auxiliar os tentantes:


Sobre a tabela eu agradeço porque ficou mais visual a questão.

A soma...
Olhe isso...
A série é formada de partições e estas por sua vez seguem uma continuidade em cada partição se você olhar a Soma pode ser identificada desta forma:
S(n) = (n-1)x2^(n-1) + 2^(n-1)-1 isso dá a soma parcial de cada partição. Exemplo: Quando você busca o 4th elemento ele é o 9, mas,
pela tabela você percebe a repetição do 2^3 para os próximos 2 números, ou seja cada partição é formada de n-1 elementos a partir do elemento da 4th
posição e compõe por sí só um substrato da série cuja soma é dada por esta fórmula acima. Pelo menos está indo...rs rs rs quanto tempo vai demorar dependerá
apenas de alguém já ter feito algo parecido, mas, vou continuar pensando como resolver isto e esperar alguém mais dar uma luz melhor.


Topo
 Perfil  
 
MensagemEnviado: 26 jul 2016, 13:29 
Offline

Registado: 19 Oct 2015, 13:34
Mensagens: 929
Localização: Rio de Janeiro
Agradeceu: 9 vezes
Foi agradecido: 274 vezes
josenildo,
aqui no forum tem muita gente boa, o problema é o tempo, questões que exigem muito raciocínio, requerem muito tempo, e muitos não dispõe de tal. Mas, acredito que alguém vai te ajudar nessa questão.

_________________
Vivemos em um mundo onde toda informação é falsa até que se prove o contrário.
A Verdade está a caminho.


Topo
 Perfil  
 
MensagemEnviado: 26 jul 2016, 21:22 
Offline

Registado: 25 jul 2016, 14:08
Mensagens: 7
Localização: São Paulo
Agradeceu: 0 vez(es)
Foi agradecido: 0 vez(es)
jorgeluis Escreveu:
josenildo,
aqui no forum tem muita gente boa, o problema é o tempo, questões que exigem muito raciocínio, requerem muito tempo, e muitos não dispõe de tal. Mas, acredito que alguém vai te ajudar nessa questão.


Agradeço muito mesmo. Só posso agradecer por sua atenção e apoio e de todos também. Muito obrigado. E realmente é compreensível o que diz até pela situação atual de nosso país estamos trabalhando mais dormindo menos e lutando para viver e se manter.


Topo
 Perfil  
 
MensagemEnviado: 27 jul 2016, 13:54 
Offline

Registado: 25 jul 2016, 14:08
Mensagens: 7
Localização: São Paulo
Agradeceu: 0 vez(es)
Foi agradecido: 0 vez(es)
josenildo.silva Escreveu:
jorgeluis Escreveu:
josenildo,
aqui no forum tem muita gente boa, o problema é o tempo, questões que exigem muito raciocínio, requerem muito tempo, e muitos não dispõe de tal. Mas, acredito que alguém vai te ajudar nessa questão.


Agradeço muito mesmo. Só posso agradecer por sua atenção e apoio e de todos também. Muito obrigado. E realmente é compreensível o que diz até pela situação atual de nosso país estamos trabalhando mais dormindo menos e lutando para viver e se manter.


Sobre essa questão eu consegui resolver com o seguinte fragmento de código em linguagem de programação python que funciona como um gerador da lógica da série em questão:
def numberGen(n):
s=0
for i in xrange(4,n+1):
for j in xrange(0,i-1):
v = 2**j+2**(i-1)
yield v

Armazenei os dados numa lista e num dicionário as somas parciais até cada indice de cada número onde os índices de cada numero eram os identificadores das domas até um determinado número Nth que poderia ir até 10^18+1.
Isso resolveu a questão com performance similar a linguagem C por ter usaso a lista e o dicionario com os dados já gerados.
Quando eu recebia um número eu simplesmente localizava na lista o valor mais próximo do numero dado e buscava a soma pelo indice do numero no dicionario mostrando o resultado.
Percebí que a mesma solução poderia ser calculada por uma equação diferencial, mas, pra que complicar algo que já não foi simples de determinar daí segui o caminho mais simples e mais eficiente de ter todas as tabelas em mãos e só devolver os resultados.
tambem poderia ter utilizado uma matriz de resultados cruzando indices entre valores e somas, mas, ia ter um custo de memória desnecessário e assim foi resolvido.
Deixei isso aqui porque sei que algum dia alguém poderá enfrentar coisa semelhante e pode ser necessário da mesma forma que busquei ajuda alguém pode precisar.

Abraço a todos,


Topo
 Perfil  
 
Mostrar mensagens anteriores:  Ordenar por  
Fazer Nova Pergunta Responder a este Tópico  [ 10 mensagens ] 

Os Horários são TMG [ DST ]


Quem está ligado:

Utilizadores a ver este Fórum: Nenhum utilizador registado e 26 visitantes


Criar perguntas: Proibído
Responder a perguntas: Proibído
Editar Mensagens: Proibído
Apagar Mensagens: Proibído
Enviar anexos: Proibído

Pesquisar por:
Ir para:  
cron