Будем все время хранить не только результат, но и сумму иксов.
Давай на примере пяти элементов X1 = a, X2 = b, X3 = c, X4 = d, X5 = e
Код
Шаг 0. sum = 0, res = 1
Шаг 1. sum = a, res = 2a + 1
Шаг 2. sum = a + b, res = 3a + 2b + 1
Шаг 3. sum = a + b + с, res = 4a + 3b + 2с + 1
Шаг 4. sum = a + b + с + d, res = 5a + 4b + 3с + 2d + 1
Шаг 5. sum = a + b + с + d + e, res = 6a + 5b + 4с + 3d + 2e + 1
Заметим, что очередное значение res выражается через предыдущее res и текущее sum:
Код
Шаг 0. sum0 = 0, res0 = 1
Шаг 1. sum1 = a, res1 = 2a + 1 = res0 + sum1 + a
Шаг 2. sum2 = a + b, res2 = 3a + 2b + 1 = res1 + sum2 + b
Шаг 3. sum3 = a + b + с, res3 = 4a + 3b + 2с + 1 = res2 + sum3 + c
Шаг 4. sum4 = a + b + с + d, res4 = 5a + 4b + 3с + 2d + 1 = res3 + sum4 + d
Шаг 5. sum5 = a + b + с + d + e, res5 = 6a + 5b + 4с + 3d + 2e + 1 = res4 + sum5 + e
Отсюда понятно, как обойтись четырьмя переменными: sum, res, new_sum и new_res.