43.7k views
4 votes
Find every number from 1 to n (inclusive) that is a palindrome which starts with the digit 3. Do not user a helper function.

User Lucyann
by
4.3k points

1 Answer

5 votes

Answer: Following code is in python

n=input()

num='1'

while int(num)<=int(n): //loop from 1 to n

flag=1 //if an unequal element will be found it will be 0

l=len(num)

if num[0]=='3':

j=0

k=l-1

while j<k: //loop till middle of number

if num[j]==num[k]:

j+=1 //from beginning

k-=1 //from end

else:

flag=0

break

if flag==1:

print(int(num))

num=str(int(num)+1) //number will be incremented as integer

INPUT :

1000

OUTPUT :

3

33

303

313

323

333

343

353

363

373

383

393

Step-by-step explanation:

In the above code, a loop is executed till num is equal to n which is entered by the user. num is treated as a string so that to ease the process of checking first character is 3 or not. If it is 3 then another loop executes which checks if an element from starting is equal to the corresponding element from the end. If an element is not equal then the flag is changed and then we break out of the loop and prints the number if the flag isn't changed.

User Pradip Das
by
3.9k points