Exemplo n.º 1
0
def main():

    assert lib.is_palindrome("А роза упала на лапу Азора") == True
    assert lib.is_palindrome("А роза упала на лапу Азора ") == True
    assert lib.is_palindrome("А роза не упала на лапу Азора ") == False
    assert lib.is_palindrome("Sum\ summus \mus") == True

    print(lib.is_palindrome("Sum summus mus"))
Exemplo n.º 2
0
def euler_4():
    palindromes = []
    for i in range(999, 100, -1):
        for j in range(999, 100, -1):
            x = i * j
            if lib.is_palindrome(x):
                palindromes.append(x)
    return palindromes
Exemplo n.º 3
0
def is_lychrel(n):
  i = 1
  while i < 50:
    nx = n + lib.reverse(n)
    if lib.is_palindrome(nx):
      return False
    n = nx
    i += 1
  return True 
Exemplo n.º 4
0
def is_palindrome_base_2(n):
    return lib.is_palindrome(bin(n)[2::])
Exemplo n.º 5
0
def euler_36(m):
    solution = [x for x in range(1, m, 2) if lib.is_palindrome(x) and is_palindrome_base_2(x)]
    return sum(solution)
Exemplo n.º 6
0
 def test_palidrome(self):
     self.assertEqual(True, is_palindrome(101))
     self.assertEqual(False, is_palindrome(1010))
     self.assertEqual(False, is_palindrome(-121))
Exemplo n.º 7
0
import sys
from lib import is_palindrome

largest = 0
lx = 0
ly = 0
for x in range(100, 999):
    for y in range(100, 999):
        if (is_palindrome(int(x * y))):
            if (largest < (int(x * y))):
                largest = (int(x * y))
                lx = x
                ly = y

print(largest)
Exemplo n.º 8
0
"""
Largest palindrome product
Problem 4
A palindromic number reads the same both ways. The largest palindrome made from
the product of two 2-digit numbers is 9009 = 91 x 99.

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

from lib import is_palindrome

min = 1000
max = 9999

largest = 0
for a in xrange(min, max):
    for b in xrange(min, max):
        n = a * b
        if (is_palindrome(n) and n > largest):
            print("palindrome %s x %s = %s" % (a, b, n))
            largest = n

print largest
Exemplo n.º 9
0
def three_digit_palindromes():
    for i in xrange(100, 1000):
        for j in xrange(100, 1000):
            if is_palindrome(i * j):
                yield i * j
Exemplo n.º 10
0
#!/usr/bin/env python3
import lib

N = 10**8

result = set()
i = 1
while i < N**0.5:
    sm = i * i
    j = i + 1
    sm += j**2  # must be at least two squares
    j += 1
    while sm < N:
        if lib.is_palindrome(sm):
            print(i, '..', j, sm)
            result.add(sm)
        sm += j**2
        j += 1
    i += 1

print(sum(result))
Exemplo n.º 11
0
def three_digit_palindromes():
	for i in xrange(100, 1000):
		for j in xrange(100, 1000):
			if is_palindrome(i*j):
				yield i*j