Merge Brechtje's branch into benchmark branch

bram-benchmarks
Bram 2025-12-03 18:21:03 +01:00
commit af6536cd94
2 changed files with 69 additions and 0 deletions

19
brechtje/2/2-1.py Normal file
View File

@ -0,0 +1,19 @@
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)
print(answer)

50
brechtje/2/2-2.py Normal file
View File

@ -0,0 +1,50 @@
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)