【最小循环子数组】Python实现
def find_minimal_pattern(nums):
n = len(nums)
for i in range(1, n + 1):
if n % i != 0:
continue
pattern = nums[:i]
if pattern * (n // i) == nums:
return pattern
return nums # 自身是最小子数组
# 读取输入
n = int(input())
nums = list(map(int, input().split()))
# 查找并输出最小子数组
result = find_minimal_pattern(nums)
print(' '.join(map(str, result)))