50 lines
1.6 KiB
Python
50 lines
1.6 KiB
Python
from itertools import pairwise
|
|
|
|
raw_input = open('input.txt', "r").read().split(',')
|
|
input = []
|
|
|
|
for item in raw_input:
|
|
input.append(item.split('-'))
|
|
|
|
answer = 0
|
|
invalid_numbers = []
|
|
|
|
for item in input:
|
|
for i in range(int(item[0]), int(item[1]) + 1):
|
|
str_i = str(i)
|
|
if len(str_i) % 2 == 0:
|
|
halfway = int(len(str_i)/2)
|
|
if str_i[0:halfway] == str_i[halfway:]:
|
|
answer += i
|
|
invalid_numbers.append(i)
|
|
continue
|
|
if len(str_i) % 3 == 0:
|
|
third = int(len(str_i)/3)
|
|
if str_i[0:third] == str_i[third:2 * third] == str_i[2 * third:]:
|
|
answer += i
|
|
invalid_numbers.append(i)
|
|
continue
|
|
if len(str_i) % 4 == 0:
|
|
quarter = int(len(str_i)/4)
|
|
if str_i[0:quarter] == str_i[quarter:halfway] == str_i[halfway:3 * quarter] == str_i[3 * quarter:]:
|
|
answer += i
|
|
invalid_numbers.append(i)
|
|
continue
|
|
if len(str_i) % 5 == 0:
|
|
fifth = int(len(str_i)/5)
|
|
if str_i[0:fifth] == str_i[fifth:2 * fifth] == str_i[2 * fifth:3 * fifth] == str_i[3 * fifth:4 * fifth] == str_i[4 * fifth:]:
|
|
answer += i
|
|
invalid_numbers.append(i)
|
|
continue
|
|
else:
|
|
all_the_same = True
|
|
for pair in pairwise(str_i):
|
|
if pair[0] != pair[1]:
|
|
all_the_same = False
|
|
break
|
|
if all_the_same:
|
|
answer += i
|
|
invalid_numbers.append(i)
|
|
|
|
print(invalid_numbers)
|
|
print(answer) |