Untitled
unknown
plain_text
5 months ago
773 B
3
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