Home > Algorithms
Swap (Posted on 2004-01-02) |
|
In programming, a common task is to swap the values of two variables. Lines 40-60 of the program below perform the swap using a temporary variable (T).
10 A=123
20 B=456
30 PRINT A,B
40 T=A
50 A=B
60 B=T
70 PRINT A,B
Rewrite the program to swap the values in A and B without using a temporary variable.
Note: The new program will not require sophisticated programming or complex math.
|
Submitted by Brian Smith
|
Rating: 3.2857 (7 votes)
|
|
Solution:
|
(Hide)
|
The solution I originally intended was:
10 A=123
20 B=456
30 PRINT A,B
40 A=A+B
50 B=A-B
60 A=A-B
70 PRINT A,B
Others have suggested using XOR, since addition and subtraction can produce overflows
10 A=123
20 B=456
30 PRINT A,B
40 A=A XOR B
50 B=A XOR B
60 A=A XOR B
70 PRINT A,B |
Comments: (
You must be logged in to post comments.)
|
|
Please log in:
Forums (1)
Newest Problems
Random Problem
FAQ |
About This Site
Site Statistics
New Comments (6)
Unsolved Problems
Top Rated Problems
This month's top
Most Commented On
Chatterbox:
|