Serhiy Storchaka <storchaka+cpyt...@gmail.com> added the comment:
Here is more optimized PR inspired by PR 29020. It would be too long to explain how PR 29020 can be improved, so I write a new PR. Basically it implements Raymond's idea #1, but supports n>62 for smaller k. How to calculate limits: import math n = m = 2**64 k = 1 while True: nmax = int(math.ceil((m * math.factorial(k-1)) ** (1/k) + (k-1)/2)) + 100 n = min(n, nmax) while math.comb(n, k) * k >= m: n -= 1 if n < 2*k: break print(k, n) k += 1 ---------- versions: +Python 3.11 -Python 3.8, Python 3.9 _______________________________________ Python tracker <rep...@bugs.python.org> <https://bugs.python.org/issue37295> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com