Advertisement
riblanc

Untitled

Jun 28th, 2025
582
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.58 KB | Source Code | 0 0
  1. def alpha_walk_index(r, c, m):
  2.     if m == 0:
  3.         return 1
  4.     size = 1 << (m - 1)  # 2^(m-1)
  5.     if r < size and c >= size:
  6.         offset = 0
  7.         nr, nc = r, c - size
  8.     elif r >= size and c < size:
  9.         offset = 1
  10.         nr, nc = r - size, c
  11.     elif r < size and c < size:
  12.         offset = 2
  13.         nr, nc = r, c
  14.     else:
  15.         offset = 3
  16.         nr, nc = r - size, c - size
  17.     sub_square_size = 1 << (2 * m - 2)
  18.     return offset * sub_square_size + alpha_walk_index(nr, nc, m - 1)
  19.  
  20. r = 13371337
  21. c = 73317331
  22. m = 60
  23.  
  24. print(alpha_walk_index(r, c, m))
  25.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement