Проект Эйлера. Задача 5 «Наименьшее кратное»

Проект Эйлера: Условие

2520 — самое маленькое число, которое делится без остатка на все числа от 1 до 10.

Какое самое маленькое число делится нацело на все числа от 1 до 20?

Решение:

import fractions

def compute():
	ans = 1
	for i in range(1, 21):
		ans *= i // fractions.gcd(i, ans)
	return str(ans)


if __name__ == "__main__":
	print(compute())