Untitled
unknown
plain_text
a year ago
773 B
4
Indexable
def is_attractive(code, k):
n = len(code)
for i in range(n - k):
if code[i] != code[i + k]:
return False
return True
def generate_attractive_code(org_code, k):
n = len(org_code)
if is_attractive(org_code, k):
return org_code
def make_pattern(prefix):
result = prefix
while len(result) < n:
result += result[len(result) - k]
return result[:n]
prefix = org_code[:k]
while True:
candidate = make_pattern(prefix)
if candidate >= org_code:
return candidate
prefix_num = int(prefix) + 1
prefix = str(prefix_num).zfill(k)
if len(str(prefix_num)) > k:
prefix = '1' + '0' * (k-1)Editor is loading...
Leave a Comment