ТЕОРИЯ 23

Обмен значений переменных

  Этот пример, наверное, придумали ещё до изобретения компьютеров;). Необходимо поменять  местами значения переменных без использования дополнительной памяти.

Задача. Даны две целые переменные a, b. Составить фрагмент программы, после исполнения которого значения переменных поменялись бы местами (новое значение a равно старому значению b и наоборот), не используя дополнительных переменных (и предполагая, что значениями целых переменных могут быть произвольные целые числа).

Решение. (Начальные значения a и b обозначим a0, b0.)
a := a + b; {a = a0 + b0, b = b0}
b := a - b; {a = a0 + b0, b = a0}
a := a - b; {a = b0, b = a0}


Чистая математика!