Вот несколько способов поменять местами два числа без использования третьей переменной:
-
Метод 1: использование арифметических операторов
a = a + b
b = a – b
a = a – b -
Метод 2: использование побитового оператора XOR
a = a ^ b
b = a ^ b
a = a ^ b -
Метод 3: использование сложения и вычитания
a = a + b
b = a – b
a = a – b -
Метод 4: использование умножения и деления
a = a * b
b = a / b
a = a / b -
Метод 5: использование побитовых операторов
a = a ^ b
b = a ^ b
a = a ^ b -
Метод 6: использование указателей (специфично для C/C++)
int ptr1,ptr2;
ptr1 =ptr1 + ptr2 ;
ptr2 = ptr1 –ptr2;
ptr1 =ptr1 – *ptr2; -
Метод 7: использование упаковки и распаковки кортежей Python
(a, b) = (b, a) -
Метод 8: использование конкатенации кортежей Python
a = a + b
b = a – b
a = a – b -
Метод 9: использование распаковки списка Python
[a, b] = [b, a] -
Метод 10: использование арифметических операторов Python
a = a + b
b = a – b
a = a – b