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 <hugo.yo...@gmail.com> wrote: > On Thu, Aug 25, 2011 at 6:49 PM, surya k <sur...@live.com> 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 - Tutor@python.org To unsubscribe or change subscription options: http://mail.python.org/mailman/listinfo/tutor