Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Auto merge of #115253 - donno2048:patch-1, r=albertlarsan68
Implement `PROBLEMATIC_CONSTS` generalization You forgot that `A≈4`, `B≈8`, and `E≈3` and some more constants. The new `PROBLEMATIC_CONSTS` was generated using this code: ```py from functools import reduce def generate_problems(consts: list, letter_digit: dict): for const in consts: problem = reduce(lambda string, rep: string.replace(*reversed(rep)), ['%X' % const, *letter_digit.items()]) indexes = [index for index, c in enumerate(problem) if c in letter_digit.keys()] for i in range(1 << len(indexes)): yield int(''.join(letter_digit[c] if index in indexes and (i >> indexes.index(index)) & 1 else c for index, c in enumerate(problem)), 0x10) problems = generate_problems( [ # Old PROBLEMATIC_CONSTS: 184594741, 2880289470, 2881141438, 2965027518, 2976579765, 3203381950, 3405691582, 3405697037, 3735927486, 3735932941, 4027431614, 4276992702, # More of my own: 195934910, 252707358, 762133, 179681982, 173390526 ], { 'A': '4', 'B': '8', 'E': '3', } ) # print(list(problems)) # won't use that to print formatted from itertools import islice while len(cur_problems := list(islice(problems, 8))): print(' ', end='') print(*cur_problems, sep=', ', end='') print(',') ```
- Loading branch information