Добавить в корзинуПозвонить
Найти в Дзене
Забугорные записки

Проект Эйлера. Задача 6

Разность между суммой квадратов и квадратом суммы Сумма квадратов первых десяти натуральных чисел равна 1^2 + 2^2 + ... + 10^2 = 385 Квадрат суммы первых десяти натуральных чисел равен (1 + 2 + ... + 10)^2 = 552 = 3025 Следовательно, разность между суммой квадратов и квадратом суммы первых десяти натуральных чисел составляет 3025 − 385 = 2640. Найдите разность между суммой квадратов и квадратом суммы первых ста натуральных чисел. В этой задачке я проверил несколько вариантов решения, и самый простой оказался самым быстрым (не сильно быстрее остальных, но всё же). Распишу и его, и тот, что показался мне самым красивым и коротким. Быстрый способ: answer = 0 for i in range(101): answer += i answer **= 2 # Вычислим квадрат суммы for i in range(101): answer -= i**2 # Вычтем квадраты всех подходящих чисел print(answer) Красивый (нет) и короткий способ: answer = sum([i for i in range(101)])**2 - sum([i**2 for i in range(101)]) print(answer) # Output: 25164150

Разность между суммой квадратов и квадратом суммы

Сумма квадратов первых десяти натуральных чисел равна

1^2 + 2^2 + ... + 10^2 = 385

Квадрат суммы первых десяти натуральных чисел равен

(1 + 2 + ... + 10)^2 = 552 = 3025

Следовательно, разность между суммой квадратов и квадратом суммы первых десяти натуральных чисел составляет 3025 − 385 = 2640.

Найдите разность между суммой квадратов и квадратом суммы первых ста натуральных чисел.

В этой задачке я проверил несколько вариантов решения, и самый простой оказался самым быстрым (не сильно быстрее остальных, но всё же). Распишу и его, и тот, что показался мне самым красивым и коротким.

Быстрый способ:

answer = 0
for i in range(101):
answer += i
answer **= 2 # Вычислим квадрат суммы
for i in range(101):
answer -= i**2 # Вычтем квадраты всех подходящих чисел
print(answer)

Красивый (нет) и короткий способ:

answer = sum([i for i in range(101)])**2 - sum([i**2 for i in range(101)])
print(answer)

# Output: 25164150