Skip to main content

Swap two numbers without using a temporary variable

It's been a while since I've posted any blogs and vlogs. I've been trying to record videos for Planet of Codes Youtube channel, but there's quite a lot of noise whenever I try to record, so I thought why not I communicate through these blogs instead till I am able to record something for Youtube.

So here we are, blogging for something that I actually tried to record in the form of a video.

Usually in high schools and colleges, when most of us initially learn programming, we get a programming problem to swap two numbers. Usually the solution looks something like the below.

num1 = 32
num2 = 87

temp = num1
num1 = num2
num2 = temp

print(num1)
print(num2)

Note: Usually institutions ask students to write this program in C or C++ in first semester, however the above program is in Python, because, It's the logic that matters. This program can be written in any other programming language too.

Well, here we are using a temporary variable "temp".

 This problem can actually be solved without using this temporary variable. One of my former classmate taught that to me when I was in the first semester of my bachelors course.

In order to do this, we need to remember that we are dealing with integers, so we can perform mathematical operations on these and we are going take advantage of that here. So, this is how it's done.

num1 = 32
num2 = 87

num1 = num1 + num2 #119
num2 = num1 - num2 # 119 - 87 = 32
num1 = num1 - num2 # 119 - 32 = 87

print(num1)
print(num2)

 

Comments

Popular posts from this blog

Significance of Development and Production Environment for any Application

The concept of the environment that any application runs on was something that I was unaware of as a student. I got introduced to these concept after becoming a part of corporate IT sector. Two of the most important environment are Development environment and Production environment. Of course, there are testing environments like  OAT and UAT environment, but at times these are taken as a sub part of the above mentioned major environments. So now the question arises, "What are  these environment? and why do I need to know about these?". Well, although subconsciously, we all are aware of these, not all of us are aware of how important these are to us and to each other. Development environment is basically the environment where the application is developed and maintained. Any changes that needs to be made to any application are made in development environment as well. The application in development environment could be any application made from scratch or any third party applica...

Euclid's Division Lemma - Program

Hello Everyone, how y'all are fine. In this blog, we are gonna try to build program for Euclid's Division Lemma. It just a mathematical theorem that states that "Given positive integers a and b, there exist unique integers q and r such that a = bq +r, 0 <  r < b". Here basically 'a' is dividend, 'b' is divisor, 'q' is quotient and 'r' is remainder. This is user to find the HCF(Highest Common Factor) of two numbers. We are going to build program to do exactly that. I am using C programming language, however this can be done using any programming language. So I created a new C program file using vim and I used the below code.    ======= Code ======= #include <stdio.h> void main(){         int num1,num2,a,b,q,r;         printf("Enter a number: ");         scanf("%d",&num1);         printf("Enter another number: ");         scanf("%d",&num2);     ...