# https://m...content-available-to-author-only...e.com/questions/3093225/an-efficient-approach-to-combinations-of-pairs-in-groups-without-repetitions def compute_groupings(n:int): for i in range(n-1): print(f'day_{i}: ({n-1},{i})',end='') for k in range(1, n//2): print(f', ({(i+k)%(n-1)},{(i-k)%(n-1)})',end='') print('') compute_groupings(8)
Standard input is empty
day_0: (7,0), (1,6), (2,5), (3,4) day_1: (7,1), (2,0), (3,6), (4,5) day_2: (7,2), (3,1), (4,0), (5,6) day_3: (7,3), (4,2), (5,1), (6,0) day_4: (7,4), (5,3), (6,2), (0,1) day_5: (7,5), (6,4), (0,3), (1,2) day_6: (7,6), (0,5), (1,4), (2,3)