Используя целые числа от 1 до n, вычислите два значения: сначала сложите все числа и возведите сумму в квадрат; отдельно возведите в квадрат каждое число и сложите эти квадраты. Верните разность первого значения и второго.
Реализуйте функцию difference_of_squares(n).
Ввод
n: Последнее включаемое целое число.
Вывод
Верните разность: квадрат суммы минус сумма квадратов.
Ограничения
0 ≤ n ≤ 50 000. Для n = 0 обе суммы равны 0. Все необходимые значения помещаются в знаковый 64-битный целый тип.
Примеры
Ввод:
n = 4
Ожидаемый вывод:
expected = 70
Ввод:
long long n = 4;
Ожидаемый вывод:
long long expected = 70;
Ввод:
long n = 4;
Ожидаемый вывод:
long expected = 70;
Пояснение
(1 + 2 + 3 + 4)² = 100. Сумма квадратов: 1 + 4 + 9 + 16 = 30. Разность: 100 − 30 = 70.
Ввод:
n = 1
Ожидаемый вывод:
expected = 0
Ввод:
long long n = 1;
Ожидаемый вывод:
long long expected = 0;
Ввод:
long n = 1;
Ожидаемый вывод:
long expected = 0;
Пояснение
Оба значения равны 1, поэтому их разность равна 0.
Ссылки
Это задание адаптировано для CodeUtility. Следуйте условию и ограничениям выше.