How would you check if a number is palindrome using a looping algorithm in any programming language ?

A palindrome number is one which remains the same when its digits are reversed. For example 121, if you write 121 backwards its still 121.

The algorithm involves a really simple loop which just reverses the number. The number can then be compared with the original number to check whether they are same or not. If same then the number is palindrome. The code is as follows-

Let 'num' be the variable holding the number and 'copy' be holding a copy of the same number.

Let 'rev' be the variable holding the reverse of the number 'num'. Initial value of 'rev' is 0.

Let 'rem' be the variable holding the remainder of the number at each iteration. Then the loop is-

while(num>0)
{
   rem=num%10;           //takes the last digit of num
   rev=rev*10+rem;       //calculates reverse 
   num=num/10;           //takes num to next digit
}

After this loop finishes we will have the reverse of the number in 'rev' variable. Now this can be compared with 'copy' variable which stores the original number to check if both are same and thus palindrome.


if(rev=copy)
print 'Palindrome'
else
print 'Not Palindrome'

Note that, the 'rev' variable cannot be compared to 'num' variable since the value of 'num' has been modified repetedly by the command 'num=num/10' and now is less than 0 which eventually breaks the loop.

Answered by Yatharth R. Computing tutor

10621 Views

See similar Computing GCSE tutors

Related Computing GCSE answers

All answers ▸

Outline three differences between RAM and ROM


What is a Mutatable Data Structure?


Within the systems life cycle, describe what events might take place in the Analysis stage.


How would 12 be represented in binary?


We're here to help

contact us iconContact usWhatsapp logoMessage us on Whatsapptelephone icon+44 (0) 203 773 6020
Facebook logoInstagram logoLinkedIn logo
Cookie Preferences