Eu vi a seguinte publicação no Facebook e pensei em testar computacionalmente até um limite grande. Para quem não quer, ou não tem como, acessar o Facebook, reproduzo a imagem abaixo:
Quando escrevia o programa notei que estava fazendo errado, que o código iria gastar tempo demais inutilmente, então reescrevi o código resolvendo isto.
A primeira versão do programa foi:
#include <stdio.h>
int main()
{
register unsigned long long numero, impar, soma ;
for( numero = 1 ; numero <= 1000000000 ; numero++ )
{
register int i ;
for( i = numero, impar = 1, soma = 0 ; i ; i--, impar +=2 )
soma += impar ;
if( soma != numero*numero )
printf( "Falhou para o numero %llu\n",numero );
}
}
Esta é a descrição literal do problema, mas nem sempre a descrição literal é a melhor a ser implementada. O que está errado neste programa?
Eu já tenho um blog principalmente de fotografia, mas aqui pretendo falar de computação, dando dicas, truques etc. O nome veio do fictício Necronomicon, que pelo que eu li, seria um livro praticamente perdido, com poucos exemplares sobreviventes, e ainda por cima proibido, ensinando uma arte perdida, muito pouco conhecida, chegando a ser muito perigosa. É neste sentido que uso como origem do nome deste blog. Para maiores detalhes, leia o artigo mais antigo publicado.