Beispiel #1
0
def calc_sum_of_palindromic_numbers(limit: int):

    start_time = time.time()
    palindromes = set()

    for n in range(1, limit):
        if is_palindrome(n) and is_palindrome(convert_to_binary(n)):
            palindromes.add(n)

    result = sum(palindromes)
    print_time_log(start_time, result)
    return result
Beispiel #2
0
 def test_is_palindrome_5_digits_negative(self):
     number = 90705
     self.assertEqual(False, is_palindrome(number))
Beispiel #3
0
 def test_is_palindrome_5_digits(self):
     number = 90709
     self.assertEqual(True, is_palindrome(number))
Beispiel #4
0
 def test_is_palindrome_negative(self):
     number = 9007
     self.assertEqual(False, is_palindrome(number))
Beispiel #5
0
 def test_is_palindrome_basic(self):
     number = 9009
     self.assertEqual(True, is_palindrome(number))
Beispiel #6
0
from utils.utils import is_palindrome

double_base_palindromes = [i for i in range(1, 1000000, 2) if is_palindrome(str(i)) and is_palindrome("{0:b}".format(i))]
print(sum(double_base_palindromes))
# ! you can step by 2 as even numbers will be of the form 1...0 which is definitely not a palindrome