我只寫出計算式,式子由圖解歸納得到,過程省略:
一、已知正整數 N,求相對應的 x, y 座標:
找出最小的正整數 n 使得 n² ≧ N,即 n = ceil(sqrt(N))。
設 k = n² - N。
計算式:
x = n - floor(k/n) * (1 + mod(k,n))
y = k + 1 - floor(k/n) * (1 + mod(k,n))
例如:
N = 162
n = ceil(sqrt(162)) = 13
k = 13² - 162 = 169 - 162 = 7
x = 13 - floor(7/13) * (1 + mod(7,13)) = 13 - 0 = 13
y = 7 + 1 - floor(7/13) * (1 + mod(7,13)) = 7 + 1 - 0 = 8
例如:
N = 309
n = ceil(sqrt(309)) = 18
k = 18² - 309 = 324 - 309 = 15
x = 18 - floor(15/18) * (1 + mod(15,18)) = 18 - 0 = 18
y = 15 + 1 - floor(15/18) * (1 + mod(15,18)) = 15 + 1 - 0 = 16
(圖示)
二、已知正整數點座標 (x,y),求相對應的正整數 N:
設 n = ( abs(x+y) + abs(x-y) ) / 2,則 x = n 或 y = n。
計算式:
若 x = n,則 N = n² - y + 1。
若 y = n,則 N = (n-1)² + x。
例如:
(x,y) = (14,6)
n = ( abs(14+6) + abs(14-6) ) / 2 = 14
因為 x = n,所以 N = n² - y + 1 = 14^2 - 6 + 1 = 196 - 6 + 1 = 191
例如:
(x,y) = (6,12)
n = ( abs(6+12) + abs(6-12) ) / 2 = 12
因為 y = n,所以 N = (n-1)² + x = 11^2 + 6 = 121 + 6 = 127
(圖示)
平面上,方程式 abs(x+y) + abs(x-y) = 2n 的圖形為中心在原點且邊長為 2n 的正方形。