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

10561 Views

See similar Computing GCSE tutors

Related Computing GCSE answers

All answers ▸

i) Convert 01101001 from binary to denary. ii) Convert 27 from denary to hexadecimal. ii) State one use of hexadecimal in computing and why it is more beneficial in this application that binary.


Describe two different functions performed by an operating system [4 marks]


What is the purpose of RAM in a computer?


Assuming Two's complement convert 10010110 to decimal.


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–2024

Terms & Conditions|Privacy Policy
Cookie Preferences