que estoy tratando de resolver el problema:números de triángulo en pitón
Cuál es el valor del primer número de triángulo para tener más de quinientos divisores?
Un número triángulo es un número en la secuencia de la suma de los números, es decir, 1 + 2 + 3 + 4 + 5 ...
Estoy bastante seguro de que este es el código de trabajo, pero No lo sé porque mi computadora tarda demasiado en calcularla. ¿Alguien tiene alguna idea de cómo hacer que el programa sea un poco más rápido?
Gracias.
import math
def main():
l = []
one = 0
a = 1
b = 2
while one == 0:
a = a + b
b += 1
for x in range(1, int(a/2 + 1)):
if a % x == 0:
l.append(x)
if len(l) > 499:
print a
if __name__ == '__main__':
main()
No publique el código donde "one == 0" se evalúa como verdadero. Duele mirar: | –
Acostúmbrate :-) Es una buena comparación como cualquier otra. Y en este programa, siempre es cierto ... –
'l = []' debe estar dentro del bucle 'while', de lo contrario acumula divisor para todos los números triangulares, no solo uno. – jfs