En contraste con otros lenguajes de programación de su tiempo, Pascal (lenguaje de programación)
también es compatible con un tipo de conjunto, implementado como un patrón de bits. Los patrones de bits asociados con
el Pascal tipo de conjunto es de $256$ bits de ancho, pero esta limitación no es esencial y puede ser reemplazado
con otros (más grandes), los valores de tiempo.
Ver Wikipedia para una referencia.
Más bien una descripción detallada del tipo de conjunto de la aplicación se puede encontrar
así.
Así tenemos la siguiente práctica:
- un patrón de bits en un equipo es un conjunto de tipo
También sabemos que
- un patrón de bits en un equipo es un número natural tipo
De hecho, todo el mundo sabe que un número natural puede ser representado como un binario es decir, un patrón de bits.
La palabra "tipo" se ha empleado aquí con el fin de evitar la confusión con otros
(me.e la matemática estándar) "set" y "número" definiciones.
Más precisamente: la
hereditariamente finitos conjuntos
están en una correspondencia uno a uno con los números naturales. Y el segundo hecho es independiente de
los ordenadores.
Ejemplos.
$$
\begin{array}{l}
0 = 000 = \{\} \\
1 = 001 = \{0\} = \{\{\}\} \\
2 = 010 = \{1\} = \{\{\{\}\}\} \\
3 = 011 = \{0\; 1\} = \{\{\}\{\{\}\}\} \\
4 = 100 = \{2\} = \{\{\{\{\}\}\}\} \\
5 = 101 = \{0\; 2\} = \{\{\}\{\{\{\}\}\}\} \\
6 = 110 = \{1\; 2\} = \{\{\{\}\}\{\{\{\}\}\}\} \\
7 = 111 = \{0\; 1\; 2\} = \{\{\}\{\{\}\}\{\{\{\}\}\}\} \\
\cdots
\end{array}
$$
Lo anterior está relacionado con la siguiente referencia, por Alexander Abian y Samuel LaMacchia:
Si las llaves $\{\}$ son reemplazados por corchetes $\left[\,\right]$, a continuación, otro
hecho importante se observa:
- un tipo de conjunto es un número natural es un tipo ordenan números naturales de tipo de matriz
Si ahora nos idear un equivalente de la escuela primaria, el número de operaciones con matrices ordenadas,
a continuación, hemos virtual ilimitado de precisión a nuestra disposición. Que este enfoque realmente funciona, debe ser demostrado en la mano de el OP pregunta.
Aquí hay un enlace a la completa (Delphi Pascal), programa que hace el trabajo:
Y aquí hay un enlace a la cantidad de $3^{100000}$, que es demasiado grande para caber en
MSE márgenes:
La salida por pantalla de este programa es el número de dígitos, el primero, el medio y el último dígito:
47713
1 21
Así que, de hecho, como Lucian dice en un comentario: es "obvio" que los dígitos en el centro es de $\large\, 2$ .
Nota. Una potencia como $\,3^{100000}\,$ suena muy impresionante, pero con un smart
algoritmo, el número de operaciones es de sólo $\,\ln_2(100000)\approx17$ . Para
los números reales $\,x\,$ natural $\n\,$ se va como sigue:
función de la potencia(x : double; n : integer) : doble;
var
m : integer;
p, y : doble;
comenzar
m := n; y := x; p := 1;
mientras que m > 0 do begin
si (m y 1) > 0, entonces p := p * y;
m := m shr 1; { m := m / 2 }
y := y * y;
end;
potencia := p;
end;
Wikipedia referencia: cálculo Eficiente con exponentes de números enteros .