The sequence of triangle numbers is generated by adding the natural numbers. So the th triangle number would be 1 + 2 + 3 + 4 + 5 + ... + n . The first ten terms would be:
1, 3, 6, 10, 15, 21, 28, 36, 45, 55, ...
We can see that 28 is the first triangle number to have over five divisors.
What is the value of the first triangle number to have over five hundred divisors?
Tentar calcular os números triangulares e verificar quantos divisores tem?
Inicialmente essa o programa rodava por muito tempo, desconfio que tenho que aprimorar essa função de divisores.
Pensando melhor
Ainda assim para calcular apenas um triangle = 1 bilhão, o programa demora 2 segundos
Precisa achar outra forma de calcular os divisores ou otimizar essa função existente
Considerar que o primeiro número com 500 divisores seja um par bem redondo, tipo 1000? ou 1200? E se em vez de procurar o número, eu forçasse ser ? Vou testar multiplicar os 100 primeiros pares
Vish, da um numero muito enorme
Considerando que o número 28 já tem 6 divisores
Vou fazer um script pra tentar achar um padrão nos números de até 3 digitos (999) que tenham mais divisores
A intuição de que seria um par bem redondo bateu, mas O que tem de especial no 840?
Factorizando por primos Vários primos pequenos?
Não posso viajar muito, o número em questão precisa ser um triângulo. Ainda preciso testar eles
Como que 28 = 6 divisores? Como que 840 = 32 divisores?
Tive que pequisar
Existe uma fórmula, conta-se os expoentes e soma 1
Então eu quero uma fórmula que me dê o número de divisores de um número
Ou tentar calcular divisores assim, inves de brute force, aí eu posso verificar manualmente os números triangulares
Vou ter que achar novamente a fórmula de fatorização por primos (já usei em algum desafio anterior)
resposta 76576500
agora com um log dos últimos números para poder verificar se não tem nada errado