Я пытаюсь сложить все числа
в диапазоне со всеми числами до
тот же диапазон.
Итак, вы хотите вычислить limit**2
суммы.
из-за вложенных циклов, если
предел слишком велик, это займет много
время для расчета сумм.
Неверно: это не"из-за вложенных циклов" - это потому, что вы вычисляете квадратичное количество сумм и, следовательно, выполняете квадратичный объем работы.
Есть ли способ сделать это без
вложенный цикл?
Вы можете замаскировать вложение, как в ответе @ aaron, и вы можете вдвое сократить количество вычисляемых сумм из-за симметрии задачи (хотя это не делает то же самое, что ваш код), но для подготовки список с квадратичным количеством элементов, абсолютно невозможно избежать выполнения квадратичного объема работы.
Однако, для вашей заявленной цели
получение суммы всего обильного
число.
вам нужен бесконечный объем работы, поскольку существует бесконечное множество чисел; -).
Я думаю, что вы имеете в виду проблему 23, которая на самом деле сильно отличается: она запрашивает сумму всех чисел, которую не может быть выражена как сумма двух чисел с избытком. То, как суммирование, о котором вы спрашиваете, поможет вам приблизиться к этому решению, действительно ускользает от меня.