If you take a close look at my code.

for i in range (1,100) :

for j in range (i,100) :

Temp = palindrome(i*j)

here, as the loop goes on, i*j can never become smaller in any case.

which is why I think it, as long as "PNum" gets a new number, its

bigger palindrome than the previous.. so, at the end of the loop.

we'll get largest palindrome number..

On 8/25/11, Hugo Arts <

[hidden email]> wrote:

> On Thu, Aug 25, 2011 at 6:49 PM, surya k <

[hidden email]> wrote:

>> Hi,

>> I'm doing a puzzle where it asked me to find the largest palindrome number

>> formed by the product of two three-digit numbers. They mentioned an

>> example

>> saying that 9009 is the largest palindrome number formed by two two-digit

>> numbers (99 * 91).

>> I've written my code this way.. and I tested it with the given example and

>> I

>> got it right!

>> Logic I used :

>> largest two digit number is 99 and three digit number is 999.. so largest

>> product of two two-digit numbers is < 100*100 and for three-digit numbers

>> is

>> < 1000*1000.

>> So, I used a for loop and it assigns a palindromic value to PNum till it

>> is

>> < 100*100 (for 2 digit number) and < 1000*1000 (for three-digit number)..

>> Thus it stops at the max possible palindromic value, which is what we

>> want.

>>

>> def palindrome (n) :

>>

>> TempN = n

>> rev = 0

>> while n != 0 :

>> k = n % 10

>> rev = (rev * 10) + k

>> n = n / 10

>> if TempN == rev :

>> return TempN # Palindrome

>> else :

>> return 0 # not Palindrome

>>

>> for i in range (1,100) :

>> for j in range (i,100) :

>> Temp = palindrome(i*j)

>> if Temp < 10000 and Temp != 0 :

>> PNum = Temp

>> print PNum

>>

>>

>> So, for getting the largest palindrome number formed by two three-digit

>> numbers, I changed 100 to 1000 and 1,00,00 to 1,000,000 in the highlighted

>> area. Thus I got the answer to be 888888. When I submitted the answer, its

>> saying wrong!

>> Where I'm going wrong ?

>> help me, please !

>>

>

> When you get a new palindrome, you should make sure it's bigger than

> the one you already have before you replace the old one. 888888 is the

> last palindrome you find, but it is not the the biggest. You cannot

> assume the biggest one will be found last.

>

_______________________________________________

Tutor maillist -

[hidden email]
To unsubscribe or change subscription options:

http://mail.python.org/mailman/listinfo/tutor