поменять две переменные местами не используя третьей



Как поменять значения двух переменных без третьей

Автор SuBwooFer задал вопрос в разделе Другие языки и технологии

Как поменять значения переменных местами не используя 3ей переменной и получил лучший ответ

Ответ от Dark Bleach[новичек]
a=a+b;
b=a-b;
a=a-b;
Можно гордиться :).
Я считал это невозможным и, когда случайно наткнулся на решение, счел его пусть не очень важной для практики, но очень красивой жемчужиной программирования.

Ответ от Ёаня Семенов[гуру]
собсно этот вопрос мучал еще архимеда с пифагором он так и не нашел решения
только раньше эта задача выглядела примерно так
«как перелить из одного ведра бензин»: -)« в другое в котором вода если третьего ведра нету? »

Ответ от GambiT[гуру]
Если вопрос на интерес, то скорее всего никак.
Если же с практической ноткой вопрос, то это маразм, так экономить

Ответ от Андрей Болконский[новичек]
ОТВЕТ: Третью переменную оставить на третьем месте, не использовать ее (по условию задачи) . А значения первой и второй пременной поменять местами. Т. е значение первой переменной с первого места поместить на второе, и наооборот сделать то же самое со второй переменной, не являющейся первой, меняемой местами со второй переменной по условию задачи. И никому об этом не говорить. (из врачей, приехавших за тобой))

Ответ от Jurijus Zaksas[гуру]
На ассемблере это делается безо всяких проблем:
XCHG ax, bx

Ответ от Псевдоним[активный]
a=a/b
b=b*a
a=b/a

Ответ от 3 ответа[гуру]
Привет! Вот подборка тем с похожими вопросами и ответами на Ваш вопрос: Как поменять значения переменных местами не используя 3ей переменной
Алгоритм обмена при помощи исключающего ИЛИ на Википедии
Посмотрите статью на википедии про Алгоритм обмена при помощи исключающего ИЛИ
 

Ответить на вопрос:

Имя*

E-mail:*

Текст ответа:*
Проверочный код(введите 22):*