def generate_unique_substrings(n): def generate_substrings(n, prefix=""): if n == 0: unique_substrings.add(prefix) else: for bit in "01": if prefix[-n:] + bit not in unique_substrings: generate_substrings(n - 1, prefix + bit) unique_substrings = set() generate_substrings(n) binary_string = "1" * n # Start with a string of '1's of length n for i in range(2 ** n - 1): binary_string += "0" * (n - len(bin(i)[2:])) + bin(i)[2:] return binary_string n = 10 # Change this value to generate unique substrings of different lengths binary_string = generate_unique_substrings(n) print("Binary string with unique substrings of length", n, ":", binary_string)