Взгляните на следующий код:
total = 0
for j in range(int(start)-1,int(end)):
total += (A+j)*(B+j)*(C+j)*(D+j)
print(total%1000000007)
Теперь код работает нормально, но мне нужно уменьшить сложность времени.
1 <= A, B, C, D <= 10 ^ 5 </p>
1 <= начало <= конец <= 10 ^ 5 </p>
Как видите, числа могут быть очень большими. Как я могу ускорить часть умножения? Я попробовал русскую крестьянскую технику. Это все еще не достаточно быстро.
Также я читал похожие посты по умножению python, но это не могло решить мою проблему.