Рассмотрим следующую функцию, аргументами которойявляются два целых неотрицательных числа:int f(int m, int n) { int a = m, b = n; int p = 0; while (b != 0) { if (b%2 == 0) { // b четное b /= 2; a *= 2; } else { // b нечетное --b; p += a; } } return p;}
Какое условие является инвариантом цикла?
(Отметьте один правильный вариант ответа.)
Варианты ответа
Равенство ba p = mn
Равенство a*b + p = m*n (Верный ответ)
Равенство a/b + p = m*n
Равенство a + b + p = m*n
Равенство ab p = mn