Bem, esta é a terceira vez que reescrevo esta resposta. O usuário Yuval Filmus apontou dois erros muito bobos que cometi nas duas versões anteriores.
Bem, finalmente encontrei uma solução simples para o problema. Eu acho que funciona.
Primeiro, temos essas palavras desse tipo:
1(00)p1(00)p001
São números quadrados.
Prova:
Procurei informações sobre números quadrados e, em seguida, descobri "números octogonais centralizados", que são números formados por camadas de múltiplos de oito, mas não a primeira. A primeira camada é uma, a segunda oito, a terceira dezesseis e assim por diante.
Portanto, cada camada tem um "oito" a mais que a anterior. O número de oito em um número octogonal centralizado pode ser calculado usando a fórmula de Gauss:
n2+n2
Em seguida, multiplicamos por oito e adicionamos um, porque a primeira camada é apenas um ponto.
8(n2+n)2+1
Simplyfying:
4(n2+n)+1
Essa fórmula nos fornece os números quadrados ímpares para cada n.
Vou calcular a fórmula para o número quatro e todas as potências de quatro.
Primeiro, quadrado o número, isso simplesmente dobra os zeros do número. Em seguida, adicionamos o número ao produto. Isso coloca um "um" na posição a partir da direita. é o comprimento da palavra binária.⌈ | n | / 2 ⌉| n |
No momento, temos palavras desta forma:
1 ( 00)p1 ( 00)p0 0
Nós multiplicamos por quatro, isso simplesmente adiciona dois zeros no final do número. Finalmente, somamos um. Acabamos.
Bombeamento
Eu defino .i = 0
Primeiro o caso fácil
Se deixarmos vazio, obteremos o número um e um ou mais zeros. Isso nos dá palavras com peso hamming dois (o número de unidades é dois). Existe apenas um número desigual com o peso de hamming dois, o número nove (o único número quadrado ímpar da forma 2n + 1 é 9, vi isso na wikipedia: veja aqui ). Como todos os números que estamos bombeando são maiores que nove, provamos esse caso.x
Caso difícil
Deixamos o primeiro "um" em seu lugar e tiramos apenas zeros. Podemos fazer zeros até .p - 1
A palavra terá a seguinte aparência:
10 ( 00)m1 ( 00)n001 .
Onde e são números inteiros maiores ou iguais a um emnn > m
Primeiro acredito que o número obtido é um quadrado, depois mostrarei que é falso:
Como sabemos que todos os números quadrados ímpares podemos obter com esta fórmula:
4 (n2+ n ) + 1
Começamos a decompor o número, subtraímos um, este simples define o último como zero e, depois, dividimos por quatro, isso remove dois zeros no final da palavra binária.
Então teremos palavras assim:
10 ( 00)m1 ( 00)n0 0 , e são números inteiros maiores ou iguais a um e . Essas palavras são um prefixo da palavra completa.nmn > m
Como acreditamos que essa cadeia faz parte de um número quadrado, a palavra teve que ser formada pela seguinte fórmula:
(n2+ n )
n não pode ser ainda
Veremos novamente esta fórmula:
n2+ n
Como acreditamos que as palavras que bombeamos são números quadrados. Chamamos as palavras que têm bombeado e temos que:m
m =n2+ n
Além disso, temos que pode ser representado como a soma de dois números binários, e , cada um deles é uma potência de dois. E nós temos que emm1m2m1---√<m2m1>m2
A primeira coisa que notamos é que deve ser menor que . Isso ocorre porque é maior que a raiz quadrada de , se for igual a , então será maior que .nm2m2m1nm2n2m
Agora, quando esquadrinhamos um número binário par, temos que o número ao quadrado possui "mais zeros" à direita do primeiro "um" que o número original. Então "o mais à direita" dentro de está à esquerda do "mais à direita" dentro de . Se adicionarmos a , temos que "o mais à direita" dentro de é o "mais à direita" em . Como é menor que . Temos que o "mais à direita" dentro de está à direita do "mais à direita" em . Portanto .n2nnn2n2+ nnnm2n2+ nmm ≠n2+ nn2+ n = mchegamos a uma contradição e, portanto, não pode ser mesmo.n
n não pode ser desigual
Novamente, temos que é um número feito adicionando a , entãomnn2m =n2+ n
Então notamos que ; Isto é porque:( n + 1)2- ( n + 1 ) =n2+ n
( n + 1)2- ( n + 1 ) =n2+ 2 n + 1 - n - 1 ;
E depois:
( n + 1)2- ( n + 1 ) =n2+ n .
Outra maneira de ver isso é imaginar como um quadrado com lados de comprimento . Este quadrado é formado por quadrados menores do tamanho um. Então, quando adicionamos quadrados de tamanho um ao quadrado anterior, o quadrado anterior agora é um retângulo cujos lados são e . Agora, podemos imaginar como outro quadrado com lados de comprimento . Este quadrado também é formado por quadrados menores do tamanho um. Se removermos quadrados, temos um retângulo de lados e .n2nnnn+1(n+1)2n+1n+1nn+1
Temos que é um número par e a prova segue o mesmo de antes para todos os números ímpares menores quen+1nm2−1
Novamente, quando quadrado um número par binário, temos que o número tem "mais zeros" à direita do primeiro "um" que o número original. Portanto, "o mais à direita" dentro está à esquerda do "mais à direita" dentro de . Se subtrairmos a , temos que "o mais à direita" dentro de é o "mais à direita" em . Como é menor que . Temos que o "mais à direita" dentro de está à direita do "mais à direita" em .(n+1)2n+1n+1(n+1)2n2+nn+1n+1m2n2+nm
Se .n=m2−1
Novamente, temos que . Como ( ao quadrado) é um número que é uma potência de dois, ele possui apenas um único "um" inicial e depois zera. Quando subtraímos a , estamos girando todos os zeros à esquerda do dígito mais à esquerda de dentro de em "uns" e o número resultante não é como as palavras que estamos bombeando, deve haver pelo menos um "zero de separação" entre esses.n2+n=(n+1)2−(n+1)m22m2m2m22m2m22
Portanto . Mas desde que nós dissemos que chegamos a uma contradição e, portanto, não pode ser desigual.m≠n2+nn2+n=mn
Como não pode ser par ou desigual, temos que não existe como um número inteiro. Portanto, as palavras que bombeamos não são o produto da fórmula para números quadrados ímpares. Como todas as palavras que estamos escrevendo são ímpares, elas não podem ser números quadrados.nn