Nos velhos tempos, alguns dos programadores do Spectrum começaram a interrogar-se sobre como poderiam obter números com mais de oito dígitos. Sim, porque o Spectrum faz as contas com apenas oito dígitos significativos - o que é suficiente para o comum dos mortais mas não para alguns programadores do Spectrum...
No século 20, a primeira solução disponível foi o utilitário BC do sistema operativo UNIX. Actualmente, isso não é problema: existem utilitários na internet e até a linguagem javascript já inclui operações de inteiros com qualquer números de dígitos. Podem ver um utilitário aqui.
Um dos objectivos mais populares para a utilização de muitos dígitos é o cálculo do número PI = 3.1415926535897932384...
Como esse problema já é muito conhecido e até aparece num artigo Tutorial do Concurso, hoje vamos falar sobre outro número. Mas, quem estiver interessado no PI, pode examinar o programa incluído no ZIP deste artigo.
Portanto, hoje vamos falar sobre um número menos conhecido mas interessante. Qual o número que multiplicado por ele próprio dá como resultado ele próprio?
Quem pensar um pouco depressa chegará a uma solução. Vamos ver que soluções é que a matemática nos dá.
X * X = X
X * X - X = 0
X * (X-1) = 0
X = 0 ou X = 1
Portanto, temos 2 números:
1 * 1 = 1
0 * 0 = 0
Parece não haver mais nenhuma solução. Mas se esticarmos um pouco a matemática podemos arranjar mais soluções...
Por exemplo:
5 * 5 dá 25 que termina em 5.
25 * 25 dá 625 que termina em 25.
625 * 625 dá 390625 que termina em 625.
...
259918212890625^2 termina nele próprio e por aí fora.
E, se procurarmos encontraremos outro número:
6 * 6 dá 36 que termina em 6.
76 * 76 dá 5776 que termina em 76.
376 * 376 dá 141376 que termina em 376.
...
Observem estas 4 propriedades do 0 e 1:
1 * 1 = 1
0 * 0 = 0
0 + 1 = 1
0 * 1 = 0
Também existem com estes números:
...625 * ...625 = ...625
...376 * ...376 = ...376
...625 + ...376 = ...001
...625 * ...376 = ...000
Para calcular estes números com muitos dígitos, apresentamos o programa HP (High Precision) que funciona com inteiros. Quem precisar de números com vírgulas tem 2 opções: pode refazer o programa para funcionar com números de vírgula flutuante ou simplesmente pode usar um truque para fazer contas com inteiros: 1/2=0.5 ou seja 10/2=5.
E é tudo por hoje...
Agora, se quiserem ver mais dígitos do número ...625 cliquem aqui.
Mas não terminámos, temos ainda outros programas:
Para ver o Spectrum a fazer contas de multiplicar à mão, clicar aqui.
Para ver o Spectrum a fazer raízes quadradas, clicar aqui.
Para mandar o Spectrum fazer contas, clicar aqui.
Para ver o Spectrum a calcular muitos dígitos do PI, clicar aqui (publicado no Tutorial do Concurso).
Para ver o Spectrum a duplicar números, clicar aqui (já publicado anteriormente).
Para fazer download de todos os ficheiros, clicar aqui.
Essa "técnica" é muito parecida com a que utilizei para o SIFDIVEX (SImplificador de Fracções e DIVisor EXacto).
ResponderEliminar