terça-feira, 14 de junho de 2022

O número impossível!


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.

1 comentário:

  1. Essa "técnica" é muito parecida com a que utilizei para o SIFDIVEX (SImplificador de Fracções e DIVisor EXacto).

    ResponderEliminar