Проект Эйлера: Условие
Сумма квадратов первых десяти натуральных чисел равна
12 + 22 + … + 102 = 385
Квадрат суммы первых десяти натуральных чисел равен
(1 + 2 + … + 10)2 = 552 = 3025
Следовательно, разность между суммой квадратов и квадратом суммы первых десяти натуральных чисел составляет 3025 − 385 = 2640.
Найдите разность между суммой квадратов и квадратом суммы первых ста натуральных чисел.
Решение:
# s = N(N + 1) / 2. # s2 = N(N + 1)(2N + 1) / 6. # Поэтому s^2 - s2 = (N^4 / 4) + (N^3 / 6) - (N^2 / 4) - (N / 6). def compute(): N = 100 s = sum(i for i in range(1, N + 1)) s2 = sum(i**2 for i in range(1, N + 1)) return str(s**2 - s2) if __name__ == "__main__": print(compute())