Создание математического выражения из вложенных циклов - PullRequest
1 голос
/ 28 марта 2012

Может кто-нибудь показать мне, как создать математическое выражение для количества времени, в течение которого оператор всего ++; будет работать в следующем коде?

Я понимаю, что цикл i будет повторяться n / P раз, и я знаю, что всего ++; запустит всего «итераций цикла i» * «итераций цикла j». Но я не знаю, как получить из этого математическое выражение, которое выражается через n и P.

#include <iostream>

using namespace std;

int total = 0;
int n = 20;
int P = 2;
int id = 1;
int test = 0;

int main()
{

    for (int i = id*n/P; i < ((1+id)*n/P); i++)
    {
        cout << i << endl;
        test++;
        for (int j = 1; j <= i-1; j++) {
            total++;
        }
    }

    cout << test << endl;
    cout << total;
    return 0;
}

1 Ответ

0 голосов
/ 28 марта 2012

Посмотрите на сумму целых чисел.

Внутренний цикл выполняется i раз для каждого из ряда целочисленных значений i, начиная с одного значения и заканчивая другим. Если у вас есть сумма целых чисел от 1 до первого значения и сумма целых чисел от 1 до другого, разница - это ваш ответ.

Сумма целых чисел от 1 до n - формула, которую стоит изучить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...