Алгоритм наибольшего общего делителя Евклида

Я новичок в программировании, и я изучаю C ++.

Я реализовал самый большой алгоритм общего делителя Евклида, используя C ++. алгоритм

int main()
{
int n = 78;
int m = 52;
float r = 0;

while (n != 0) {
r = m % n;
m = n;
n = r;
}
cout << m;
}

Теперь я хочу адаптировать приведенный выше код C ++. Я хотел бы изменить M на = {324, 737} и N = {68, 207, 927, 87, 126, 6347, 563, 178, 437}.

Я пытаюсь определить множество G = {gcd (m, n): m ∈ M и n ∈ N}.
Для каждой пары (m, n) я пытаюсь вычислить число w раз вводится цикл while. Затем я хочу определить среднее значение w и это стандартное отклонение.

Моя попытка:

int n[9] = { 68, 207, 927, 87, 126, 6347, 563, 178, 437 };
int m[2] = { 324, 737 };
float r = 0;
int w;

while (n != 0){
int i = 1;
r = m[i] % n[i];
m = n;
n = r;
i++;

w++;
}

float average = w / 9;
float stdev = 0.0;
cout << m;

Это где я запутался. Как я могу изменить это, чтобы принять массивы, а затем, как бы я рассчитал и определил w, средний и STDEV?

-1

Решение

Функции помогают вам структурировать ваш код (и проблему) на отдельные части. Например, вы можете сделать это:

int numberOfGcdLoopIterations(int n, int m)
{
int r = 0;

int loopCount = 0;

while (n != 0)
{
r = m % n;
m = n;
n = r;

++loopCount;
}

return loopCount;
}

Затем вы можете вызвать эту функцию для любого n а также m Вы хотите и получите соответствующий w, Теперь вопрос сводится к тому, «как я вызываю эту функцию для каждой пары m а также n из заданных наборов «и» как рассчитать среднее и стандартное отклонение возвращаемых значений «. Вы должны быть в состоянии решить это отсюда.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]