Skip to main content
Code Review

Return to Question

Tweeted twitter.com/#!/StackCodeReview/status/383475367706886145
added 72 characters in body
Source Link

A palindromic number reads the same both ways. The largest palindrome made from the product of two 2-digit numbers is 9009 = 91 ×ばつ 99.

Find the largest palindrome made from the product of two 3-digit numbers.

How would you improve the following code?

I'm looking specifically for:

  • performance optimizations
  • ways to shorten the code
  • more "pythonic" ways to write it

 def is_palindrome(num):
 return str(num) == str(num)[::-1] 
 def fn(n):
 max_palindrome = 1
 for x in range(n,1,-1):
 if x * n < max_palindrome: 
 break
 for y in range(n,x-1,-1):
 if is_palindrome(x*y) and x*y > max_palindrome:
 max_palindrome = x*y
 elif x * y < max_palindrome:
 break
 return max_palindrome
 
 print fn(999)

A palindromic number reads the same both ways. The largest palindrome made from the product of two 2-digit numbers is 9009 = 91 ×ばつ 99.

Find the largest palindrome made from the product of two 3-digit numbers.

How would you improve the following code?

I'm looking specifically for:

  • performance optimizations
  • ways to shorten the code
  • more "pythonic" ways to write it

 def is_palindrome(num):
 return str(num) == str(num)[::-1] 
 def fn(n):
 max_palindrome = 1
 for x in range(n,1,-1):
 for y in range(n,x-1,-1):
 if is_palindrome(x*y) and x*y > max_palindrome:
 max_palindrome = x*y
 elif x * y < max_palindrome:
 break
 return max_palindrome
 
 print fn(999)

A palindromic number reads the same both ways. The largest palindrome made from the product of two 2-digit numbers is 9009 = 91 ×ばつ 99.

Find the largest palindrome made from the product of two 3-digit numbers.

How would you improve the following code?

I'm looking specifically for:

  • performance optimizations
  • ways to shorten the code
  • more "pythonic" ways to write it

 def is_palindrome(num):
 return str(num) == str(num)[::-1] 
 def fn(n):
 max_palindrome = 1
 for x in range(n,1,-1):
 if x * n < max_palindrome: 
 break
 for y in range(n,x-1,-1):
 if is_palindrome(x*y) and x*y > max_palindrome:
 max_palindrome = x*y
 elif x * y < max_palindrome:
 break
 return max_palindrome
 
 print fn(999)
added 224 characters in body; edited tags; edited title
Source Link
Jamal
  • 35.2k
  • 13
  • 134
  • 238

Project Euler project p#4#4 - Largest Palindrome Product

A palindromic number reads the same both ways. The largest palindrome made from the product of two 2-digit numbers is 9009 = 91 ×ばつ 99.

Find the largest palindrome made from the product of two 3-digit numbers.

How would you improve the following code?

I'm looking specifically for:

  • performance optimizations
  • ways to shorten the code
  • more "pythonic" ways to write it

 def is_palindrome(num):
 return str(num) == str(num)[::-1] 
 def fn(n):
 max_palindrome = 1
 for x in range(n,1,-1):
 for y in range(n,x-1,-1):
 if is_palindrome(x*y) and x*y > max_palindrome:
 max_palindrome = x*y
 elif x * y < max_palindrome:
 break
 return max_palindrome
 
 print fn(999)

Euler project p#4

How would you improve the following code?

I'm looking specifically for:

  • performance optimizations
  • ways to shorten the code
  • more "pythonic" ways to write it

 def is_palindrome(num):
 return str(num) == str(num)[::-1] 
 def fn(n):
 max_palindrome = 1
 for x in range(n,1,-1):
 for y in range(n,x-1,-1):
 if is_palindrome(x*y) and x*y > max_palindrome:
 max_palindrome = x*y
 elif x * y < max_palindrome:
 break
 return max_palindrome
 
 print fn(999)

Project Euler #4 - Largest Palindrome Product

A palindromic number reads the same both ways. The largest palindrome made from the product of two 2-digit numbers is 9009 = 91 ×ばつ 99.

Find the largest palindrome made from the product of two 3-digit numbers.

How would you improve the following code?

I'm looking specifically for:

  • performance optimizations
  • ways to shorten the code
  • more "pythonic" ways to write it

 def is_palindrome(num):
 return str(num) == str(num)[::-1] 
 def fn(n):
 max_palindrome = 1
 for x in range(n,1,-1):
 for y in range(n,x-1,-1):
 if is_palindrome(x*y) and x*y > max_palindrome:
 max_palindrome = x*y
 elif x * y < max_palindrome:
 break
 return max_palindrome
 
 print fn(999)
Source Link

Euler project p#4

How would you improve the following code?

I'm looking specifically for:

  • performance optimizations
  • ways to shorten the code
  • more "pythonic" ways to write it

 def is_palindrome(num):
 return str(num) == str(num)[::-1] 
 def fn(n):
 max_palindrome = 1
 for x in range(n,1,-1):
 for y in range(n,x-1,-1):
 if is_palindrome(x*y) and x*y > max_palindrome:
 max_palindrome = x*y
 elif x * y < max_palindrome:
 break
 return max_palindrome
 
 print fn(999)
lang-py

AltStyle によって変換されたページ (->オリジナル) /