2-02
This commit is contained in:
35
02/02-2.py
Normal file
35
02/02-2.py
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
#!/usr/bin/env python3
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
|
# file = "./ex.txt"
|
||||||
|
file = "./input.txt"
|
||||||
|
|
||||||
|
def is_repetition(s: str) -> bool:
|
||||||
|
n = len(s)
|
||||||
|
if n < 2:
|
||||||
|
return False
|
||||||
|
# mögliche Längen des Teilstrings durchprobieren
|
||||||
|
for l in range(1, n // 2 + 1):
|
||||||
|
if n % l != 0:
|
||||||
|
continue # Länge teilt die Gesamtlänge nicht
|
||||||
|
block = s[:l]
|
||||||
|
if block * (n // l) == s:
|
||||||
|
return True
|
||||||
|
return False
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
solution = 0
|
||||||
|
input_file = open(file, "r")
|
||||||
|
for line in input_file:
|
||||||
|
line = line.strip()
|
||||||
|
if line == "":
|
||||||
|
continue
|
||||||
|
range_list = line.split(",")
|
||||||
|
for r in range_list:
|
||||||
|
a,b = r.split("-")
|
||||||
|
for i in range(int(a),int(b)+1):
|
||||||
|
if is_repetition(str(i)):
|
||||||
|
solution += i
|
||||||
|
print(f"Solution: {solution}")
|
||||||
Reference in New Issue
Block a user