banovski

Project Euler, Problem #4, Python

Dec 1st, 2021 (edited)
805
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #! /usr/bin/env python3
  2.  
  3. # Число-палиндром с обеих сторон (справа налево и слева направо)
  4. # читается одинаково. Самое большое число-палиндром, полученное
  5. # умножением двух двузначных чисел – 9009 = 91 × 99. Найдите самый
  6. # большой палиндром, полученный умножением двух трехзначных чисел.
  7.  
  8. # Решение №1
  9.  
  10. f = 0
  11.  
  12. for a in range(999,99,-1):
  13.     for b in range(999,99,-1):
  14.         c = (a * b)
  15.         d = str(c)
  16.         e = d[::-1]
  17.         if d == e:
  18.             if c > f:
  19.                 f = c
  20.  
  21. print(f)
  22. # 906609
  23.  
  24. # Решение №2
  25.  
  26. print(max([x * y for x in range(100, 1000) for y in range(100, 1000) if str(x * y) == str(x * y)[::-1]]))
  27. # 906609
RAW Paste Data