После первой итерации цикла while a1
равен 24 из-за этого оператора
if (a1 < b1) a1 += a;
Таким образом, условие цикла
while (a1 != b1)
выполняется. a1
равно 24
, b1
равно 18
. a1
не равно b1
.
Теперь во второй итерации b1
меньше a1
, поэтому выполняется оператор else
else b1 += b;
.
Теперь b1
равно 36.
На третьей итерации a1
снова меньше b1
, поэтому a1
становится равным 36
как b1
из-за выполненияоператор
if (a1 < b1) a1 += a;
Так цикл останавливается. И функция возвращает 36
.