25_manualcode.py 372 B

123456789101112131415
  1. #!/usr/bin/env python3
  2. def nth_code(n):
  3. code = 20151125
  4. for i in range(n):
  5. code = code * 252533 % 33554393
  6. return code
  7. def code_index(row, col):
  8. left = col - 1
  9. right = row - 1
  10. left_bottom = col * left // 2
  11. right_top = row * right // 2 - right
  12. return row * col + left_bottom + right_top - 1
  13. print(nth_code(code_index(3010, 3019)))