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.

YR
Answered by Yatharth R. Computing tutor

10930 Views

See similar Computing GCSE tutors

Related Computing GCSE answers

All answers ▸

What do 0s and 1s have anything to do with Boolean Logic?


Compress the following bit pattern using RLE (Run Length Encoding). 1111 0011 1100 0000


How do I convert decimal to binary?


Convert 56 (decimal value) into its binary equivalent


We're here to help

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

© MyTutorWeb Ltd 2013–2025

Terms & Conditions|Privacy Policy
Cookie Preferences