Podemos tomar un pequeño giro de Matt N. de la pista para asegurarse de que no se ejecute en problemas con dos representaciones. A ver cuál es el problema, tenga en cuenta que, por ejemplo, hay dos formas de escritura 12 en binario:
0.100000…and0.011111…
En principio, sería que la lista comienza con 0.1000…, y luego los números en la posición n han nth dígitos igual a 0 todos los n>1. Entonces la recta "cambiar el dígito" proceso conduce a 0.01111…, que está en la lista (es una representación diferente de la primer número de la lista).
Así que la primera cosa que necesita hacer es especificar que vamos a utilizar una representación particular en nuestra "lista", normalmente se termina si no es una opción.
Que hacer, en lugar de mirar a la diagonal solo dígito, el trabajo con las diagonales en bloques de 2; es decir, mirar a los dígitos en la posición 1 2 primero, y luego los dígitos en las posiciones 3 4 para el segundo número y así sucesivamente, buscando que los dígitos en la posición 2k+1 2k+2 kth número. Luego de hacer el "switch" asegurar que el número de construir ¿ no tiene dos representaciones distintas. Por ejemplo, si el kth numero en la lista 00, 01, o 11 2k+1 2k+2 posiciones, a continuación, poner 10 en su número de teléfono en esas posiciones; si el kth número en la lista de ha 10, a continuación, poner 01 en su lista. A continuación, el número de construir no tiene dos representaciones, de modo que usted puede probar que no está en la lista por la simple comparación de las 2k+1 2k+2 dígitos con el kth número en la lista.
Así que si tu lista parece:
0.a11a12a13a14a15a16⋯a1,2k+1a1,2k+2⋯0.a21a22a23a24a25a26⋯a2,2k+1a2,2k+2⋯0.a31a32a33a34a35a36⋯a3,2k+1a3,2k+2⋯⋮0.ak1ak2ak3ak4ak5ak6⋯ak,2k+1ak,2k+2⋯⋮
A continuación, tomar cada bloque de color rojo y la construcción de un nuevo número
0.b1b2b3b4b5b6⋯b2k+1b2k+2
donde b1b2 es elegido de manera que es diferente de a11a12; b3b4 se elige de manera que es diferente de a23a24; b5b6 se ha elegido de forma que es distinta de la de a35a36;…,b2k+1b2k+2 es elegido de manera que es diferente de ak,2k+1a2k+2, etc. Así que usted está "bajando por la diagonal" y cambiar las cosas para que el número resultante no está en la lista: no es el primer número de la lista, ya que difiere de él en las primeras dos entradas y su número tiene sólo una representación. No es el segundo número en la lista, ya que difiere de aquél en el tercer y cuarto dígitos; dado cualquier k, el número de construcción es que no la kth número en la lista, ya que difiere de éste en el 2k+1 2k+2 posiciones. Etc.