У меня стоит задача подсчитать сумму всех чисел от 0 до 1000

При компиляции кода, вместо 500500, я получаю 500500000. В чём непосредственно проблема? https://pastebin.com/LTrDST8z

#include <iostream>

using namespace std;

int main()
{

    int x;

    int y;

    int all = 0;

    int sum = 0;

        for (int i = 0; i < 1000; i++)
        {
            all = all + 1;

            for (int i = 0; i < 1000; ++i)
            {
                sum = sum + all;
            }

        }
        cout << sum ;
;
}

Ответы (2 шт):

Автор решения: AndryS1
  1. Если вы хотите решать задачу не циклами (что в разы быстрее), можете воспользоваться формулой суммы (1000 + 1) * (1000 / 2)=500500
  2. Немного не понял зачем вам там вложенный for (там ещё и используется i в всех циклах) вот моя версия на циклах
#include <iostream>

int main()
{
    int x;

    int y;

    int all = 0;

    for (int i = 0; i <= 1000; i++)
    {
        all += i;
    }

    std::cout << all;
}
→ Ссылка
Автор решения: Эникейщик

Проблема во внутреннем цикле. Он не нужен. Фактически вы считаете сумму от 1 до 1000 тысячу раз, что и получаете в результате.

→ Ссылка